{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "59247dec",
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "from random import Random\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from scipy.stats import wilcoxon\n",
    "\n",
    "from virtual_lab.agent import Agent\n",
    "from virtual_lab.constants import CREATIVE_TEMPERATURE\n",
    "from virtual_lab.run_meeting import run_meeting\n",
    "\n",
    "from nanobody_constants import (\n",
    "    discussions_phase_to_dir,\n",
    "    generic_agent,\n",
    "    generic_team_lead,\n",
    "    principal_investigator,\n",
    "    num_rounds,\n",
    "    model,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54fd7cb5",
   "metadata": {},
   "source": [
    "## Setup"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "14989c04",
   "metadata": {},
   "outputs": [],
   "source": [
    "human_eval_dir = discussions_phase_to_dir[\"human_eval\"]\n",
    "human_eval_dir.mkdir(parents=True, exist_ok=True)\n",
    "\n",
    "blinded_dir = human_eval_dir / \"blinded\"\n",
    "blinded_dir.mkdir(parents=True, exist_ok=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6b2da424",
   "metadata": {},
   "source": [
    "## Run discussions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "888b2608",
   "metadata": {},
   "outputs": [],
   "source": [
    "protein_engineering_agendas = [\n",
    "    \"\"\"Structural Analysis of Emerging Viral Antigens for Rapid Therapeutic Design\n",
    "\n",
    "Problem Statement: Emerging viral pathogens present unpredictable structural variation in surface antigens, limiting the efficacy of vaccines and therapeutic antibodies. Rapid structural insights are essential for guiding immunogen and antibody design.\n",
    "\n",
    "Research Question: How can structural analysis of novel viral antigens in complex with neutralizing antibodies inform the rational design of broadly protective therapeutics and vaccines?\"\"\",\n",
    "    \"\"\"Mechanistic Study of Host Receptors Exploited by Bacterial Pathogens\n",
    "\n",
    "Problem Statement: Many bacterial pathogens exploit host membrane receptors for adhesion, invasion, or immune evasion, yet the molecular details of these interactions remain poorly characterized.\n",
    "\n",
    "Research Question: What are the structural and biochemical mechanisms by which bacterial virulence factors interact with human receptors, and how can these interactions be targeted to prevent infection?\"\"\",\n",
    "    \"\"\"Engineering Stable Glycoprotein Antigens for Next-Gen Vaccines\n",
    "\n",
    "Problem Statement: Viral glycoproteins are often structurally unstable, making it challenging to preserve native conformations for effective vaccine design.\n",
    "\n",
    "Research Question: How can we rationally engineer viral glycoproteins to enhance their structural stability and immunogenic fidelity for use as next-generation vaccine antigens?\"\"\",\n",
    "    \"\"\"Structural Characterization of AAV Capsid Variants for Improved Gene Delivery\n",
    "\n",
    "Problem Statement: The efficiency and specificity of AAV-based gene therapies are limited by immune recognition and suboptimal tissue targeting.\n",
    "\n",
    "Research Question: How do engineered modifications to AAV capsids alter their structure and receptor-binding properties, and how can these insights be used to optimize gene delivery vectors?\"\"\",\n",
    "    \"\"\"Mapping the Structural Landscape of Human Immune Receptors in Autoimmunity\n",
    "\n",
    "Problem Statement: Genetic variations in immune receptors are associated with autoimmune diseases, but the structural mechanisms underlying altered signaling remain unclear.\n",
    "\n",
    "Research Question: How do disease-associated mutations in immune receptors impact their three-dimensional structure and function, and what are the implications for autoimmune pathogenesis?\"\"\",\n",
    "    \"\"\"Integrated Structural-Functional Pipeline for Membrane Transporter Drug Targeting\n",
    "\n",
    "Problem Statement: Membrane transporters are key drug targets, yet their conformational dynamics and ligand specificity are poorly understood, limiting rational drug development.\n",
    "\n",
    "Research Question: How can an integrated structural and biochemical approach elucidate the mechanisms of transporter function and enable the discovery of selective modulators?\"\"\",\n",
    "    \"\"\"Structural Proteomics of Host Factors in Viral Replication Complexes\n",
    "\n",
    "Problem Statement: Viruses rely on host proteins for replication, but the composition and architecture of these host-pathogen complexes are incompletely defined.\n",
    "\n",
    "Research Question: What are the structural and functional roles of host proteins in viral replication complexes, and how can these insights be leveraged to disrupt viral life cycles?\"\"\",\n",
    "    \"\"\"Cryo-EM-Based Discovery of Allosteric Sites in Membrane Enzymes\n",
    "\n",
    "Problem Statement: Allosteric regulation of membrane-bound enzymes offers a route to specific modulation, but identifying such regulatory sites is challenging due to structural complexity.\n",
    "\n",
    "Research Question: How can cryo-EM and computational modeling be used to identify and characterize allosteric sites in membrane enzymes for targeted drug discovery?\"\"\",\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8c9f240d",
   "metadata": {},
   "outputs": [],
   "source": [
    "computational_biology_agendas = [\n",
    "    \"\"\"Generative AI for Personalized Drug Discovery\n",
    "\n",
    "Problem: Traditional drug discovery pipelines are slow, expensive, and rarely tailored to individual genetic profiles.\n",
    "\n",
    "Research Question: How can generative AI models be designed to synthesize novel, patient-specific drug compounds based on genomic and clinical data?\"\"\",\n",
    "    \"\"\"Enhancing Trustworthiness in Clinical AI Systems\n",
    "\n",
    "Problem: AI models in healthcare often function as \"black boxes,\" making their decisions difficult for clinicians to interpret and trust.\n",
    "\n",
    "Research Question: What methods can be developed to increase the interpretability and reliability of clinical AI systems without compromising their performance?\"\"\",\n",
    "    \"\"\"AI-Driven Analysis of Histopathological Images\n",
    "\n",
    "Problem: Manual interpretation of histopathological images is time-consuming and subject to variability among pathologists.\n",
    "\n",
    "Research Question: Can deep learning models be trained to accurately detect pathological features in histology images to assist in cancer diagnosis?\"\"\",\n",
    "    \"\"\"Bias Mitigation in AI Language Models for Healthcare\n",
    "\n",
    "Problem: AI language models used in healthcare may propagate or exacerbate biases, especially affecting patients from underrepresented groups.\n",
    "\n",
    "Research Question: What algorithmic and data-centric strategies can reduce bias in language models used in clinical communication?\"\"\",\n",
    "    \"\"\"Federated Learning for Rare Disease Research\n",
    "\n",
    "Problem: Research on rare diseases is hindered by data scarcity and privacy concerns that prevent data sharing across institutions.\n",
    "\n",
    "Research Question: How can federated learning be implemented to enable collaborative modeling of rare diseases without compromising patient privacy?\"\"\",\n",
    "    \"\"\"AI-Augmented Clinical Trial Design\n",
    "\n",
    "Problem: Inefficient trial design can lead to costly and inconclusive clinical studies.\n",
    "\n",
    "Research Question: Can AI models improve clinical trial design by optimizing patient selection, endpoint identification, and trial parameters?\"\"\",\n",
    "    \"\"\"Multi-Modal Models for Integrative Health Data\n",
    "\n",
    "Problem: Healthcare data are fragmented across different modalities—imaging, genomics, EHRs—limiting comprehensive patient analysis.\n",
    "\n",
    "Research Question: How can multi-modal machine learning models integrate heterogeneous healthcare data to improve diagnostic and prognostic accuracy?\"\"\",\n",
    "    \"\"\"Data Valuation Techniques in Biomedical Research\n",
    "\n",
    "Problem: The relative value of individual data contributions in training biomedical AI models is poorly understood, impacting data-sharing incentives.\n",
    "\n",
    "Research Question: What techniques can be used to quantify the marginal utility of data points in biomedical datasets?\"\"\",\n",
    "    \"\"\"AI Tools for Simplifying Medical Documentation\n",
    "\n",
    "Problem: Many patients struggle to understand complex medical documentation, affecting their ability to make informed decisions.\n",
    "\n",
    "Research Question: How can AI systems be designed to automatically translate complex medical texts into simpler, more accessible language?\"\"\",\n",
    "    \"\"\"Predictive Modeling for Early Disease Detection\n",
    "\n",
    "Problem: Diseases such as Alzheimer's and cancer are often detected too late for optimal intervention.\n",
    "\n",
    "Research Question: Can machine learning models analyze longitudinal health data to predict the early onset of high-impact diseases?\"\"\",\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "675e528b",
   "metadata": {},
   "outputs": [],
   "source": [
    "protein_engineering_questions_2 = [\n",
    "    \"\"\"Identifying Molecular Mimicry Candidates Between Human Proteins and Pathogens\n",
    "\n",
    "Research Question: How can we predict if a pathogen sequence might be affecting its host via molecular mimicry, either at the sequence or structure level?\"\"\",\n",
    "    \"\"\"Development of Novel Fusion Tags\n",
    "\n",
    "Research Question: How can we discover and evaluate new fusion tag candidates using computational and experimental approaches?\"\"\",\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3d108907",
   "metadata": {},
   "outputs": [],
   "source": [
    "computational_biology_agendas_2 = [\n",
    "    \"\"\"Robustness of AI Models to Distribution Shifts in Healthcare\n",
    "    \n",
    "Problem: AI models trained on data from a single hospital or demographic may perform poorly when deployed in different clinical settings.\n",
    "    \n",
    "Research Question: How can machine learning models be made more robust to distribution shifts across different hospitals, populations, and devices in healthcare applications?\"\"\",\n",
    "    \"\"\"Detecting Medical Misinformation on Social Media Using AI\n",
    "    \n",
    "Problem: Health-related misinformation online undermines public trust and leads to harmful behaviors.\n",
    "    \n",
    "Research Question: Can natural language processing and machine learning techniques be used to automatically detect and categorize medical misinformation across social media platforms?\"\"\",\n",
    "    \"\"\"Self-Supervised Learning for Biomedical Signal Processing\n",
    "    \n",
    "Problem: Annotated biomedical signal data (e.g., ECG, EEG) are scarce, limiting the effectiveness of supervised learning models.\n",
    "    \n",
    "Research Question: How can self-supervised learning be applied to biomedical time series to improve downstream task performance with minimal labeled data?\"\"\",\n",
    "    \"\"\"AI for Identifying Subtypes in Heterogeneous Diseases\n",
    "    \n",
    "Problem: Diseases like autism or depression are clinically heterogeneous, making diagnosis and treatment inconsistent.\n",
    "    \n",
    "Research Question: Can unsupervised learning models identify meaningful subtypes of heterogeneous diseases using multi-modal patient data?\"\"\",\n",
    "    \"\"\"Real-Time Monitoring of Patient Deterioration in ICUs\n",
    "Problem: Early signs of patient deterioration in intensive care units (ICUs) can be subtle and missed by current monitoring systems.\n",
    "Research Question: Can machine learning models be developed to provide real-time, high-sensitivity predictions of patient deterioration using streaming ICU data?\"\"\",\n",
    "    \"\"\"Modeling Gene-Environment Interactions at Scale\n",
    "    \n",
    "Problem: The interplay between genetic predispositions and environmental factors is poorly understood in complex diseases.\n",
    "    \n",
    "Research Question: How can scalable machine learning frameworks be designed to model high-dimensional gene-environment interactions using population biobank data?\"\"\",\n",
    "    \"\"\"Personalized Risk Scoring for Preventive Medicine\n",
    "    \n",
    "Problem: Current risk prediction models often fail to account for the full individuality of patient profiles.\n",
    "    \n",
    "Research Question: How can deep learning be used to develop personalized, dynamic risk scores for chronic disease onset using longitudinal EHR and lifestyle data?\"\"\",\n",
    "    \"\"\"AI-Assisted Design of CRISPR Guide RNAs\n",
    "    \n",
    "Problem: Designing effective and specific CRISPR guide RNAs remains challenging due to off-target effects.\n",
    "    \n",
    "Research Question: Can deep learning models be trained on CRISPR efficacy and off-target datasets to predict optimal guide RNA sequences for gene editing?\"\"\",\n",
    "    \"\"\"Modeling the Impact of Health Policy with Causal Inference\n",
    "    \n",
    "Problem: It is difficult to isolate the causal impact of health policies (e.g., telehealth expansion) from observational data.\n",
    "    \n",
    "Research Question: How can causal machine learning methods be applied to EHR and public health datasets to evaluate the real-world effects of health interventions and policies?\"\"\",\n",
    "    \"\"\"Democratizing AI in Healthcare with No-Code Tools\n",
    "    \n",
    "Problem: Many healthcare professionals lack the technical expertise to develop or deploy AI models.\n",
    "    \n",
    "Research Question: What are effective methods for building interpretable, no-code AI platforms that allow clinicians to design, validate, and deploy predictive models using their own data?\"\"\",\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "32795c8c",
   "metadata": {},
   "outputs": [],
   "source": [
    "agendas = protein_engineering_agendas + computational_biology_agendas + protein_engineering_questions_2 + computational_biology_agendas_2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1be86954",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create scientist teams\n",
    "for num, agenda in enumerate(agendas):\n",
    "    selection_agenda = f\"\"\"{agenda}\n",
    "\n",
    "You need to select a team of scientists to help you with this project. Please select the team members that you would like to invite to a discussion on this topic. Please list the team members in the following format, using the team member below as an example. You should not include yourself (Principal Investigator) in the list. Please write the full team of agents as a Python list of Agent objects. (Note that every agent should have \"model=model\" as the last parameter.)\n",
    "\n",
    "Agent(\n",
    "    title=\"Principal Investigator\",\n",
    "    expertise=\"applying artificial intelligence to biomedical research\",\n",
    "    goal=\"perform research in your area of expertise that maximizes the scientific impact of the work\",\n",
    "    role=\"lead a team of experts to solve an important problem in artificial intelligence for biomedicine, make key decisions about the project direction based on team member input, and manage the project timeline and resources\",\n",
    "    model=model,\n",
    ")\"\"\"\n",
    "\n",
    "    run_meeting(\n",
    "        meeting_type=\"individual\",\n",
    "        team_member=principal_investigator,\n",
    "        agenda=selection_agenda,\n",
    "        save_dir=human_eval_dir,\n",
    "        save_name=f\"{num + 1}_scientist_agents\",\n",
    "        temperature=CREATIVE_TEMPERATURE,\n",
    "        num_rounds=0,\n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a71a6681",
   "metadata": {},
   "outputs": [],
   "source": [
    "protein_engineering_teams = [\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"cryo-electron microscopy and X-ray crystallography\",\n",
    "            goal=\"determine the high-resolution structures of viral antigens in complex with antibodies\",\n",
    "            role=\"provide insights into the atomic-level interactions and variability of antigen-antibody complexes\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Immunologist\",\n",
    "            expertise=\"viral immunology and vaccine design\",\n",
    "            goal=\"understand the immune response to emerging viral antigens\",\n",
    "            role=\"advise on immunogen design and the selection of epitopes for broad protection\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Computational Biologist\",\n",
    "            expertise=\"structural bioinformatics and molecular dynamics simulations\",\n",
    "            goal=\"simulate antigen-antibody interactions and predict structural changes\",\n",
    "            role=\"support the identification of conserved structural motifs for therapeutic targeting\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI Specialist\",\n",
    "            expertise=\"machine learning and AI model development for structural biology\",\n",
    "            goal=\"develop AI models to predict antigen structures and antibody binding sites\",\n",
    "            role=\"accelerate the structural analysis process using AI-driven insights\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Medicinal Chemist\",\n",
    "            expertise=\"drug design and optimization\",\n",
    "            goal=\"design small molecules or peptide-based therapeutics targeting viral antigens\",\n",
    "            role=\"translate structural insights into potential therapeutic candidates\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Project Manager\",\n",
    "            expertise=\"biomedical project management\",\n",
    "            goal=\"ensure efficient progression and organization of the research project\",\n",
    "            role=\"coordinate tasks, timelines, and communication among team members\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"X-ray crystallography and cryo-electron microscopy\",\n",
    "            goal=\"elucidate the 3D structures of bacterial virulence factors and host receptors\",\n",
    "            role=\"contribute insights into the structural basis of pathogen-host interactions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Microbiologist\",\n",
    "            expertise=\"bacterial pathogenesis and host-pathogen interactions\",\n",
    "            goal=\"study the biological mechanisms of bacterial adhesion and invasion\",\n",
    "            role=\"provide a biological perspective on pathogen strategies and host responses\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Biochemist\",\n",
    "            expertise=\"protein-protein interactions and enzymatic assays\",\n",
    "            goal=\"characterize biochemical pathways involved in receptor exploitation\",\n",
    "            role=\"perform assays to validate interaction mechanisms\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"computational biology and systems biology\",\n",
    "            goal=\"analyze genomic and proteomic data for pattern recognition\",\n",
    "            role=\"develop computational models to predict potential receptor targets\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Medicinal Chemist\",\n",
    "            expertise=\"drug design and molecular docking\",\n",
    "            goal=\"identify and develop small molecules to inhibit receptor-virulence factor interactions\",\n",
    "            role=\"design compounds that could potentially disrupt pathogen-host interactions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Immunologist\",\n",
    "            expertise=\"immune evasion and host immune response\",\n",
    "            goal=\"understand how bacterial pathogens evade the immune system via host receptors\",\n",
    "            role=\"investigate the impact of receptor interactions on immune modulation\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"protein structure analysis and engineering\",\n",
    "            goal=\"analyze and stabilize glycoprotein structures for vaccine development\",\n",
    "            role=\"provide insights into protein folding and stability, suggest modifications to enhance structural integrity\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Immunologist\",\n",
    "            expertise=\"immune response and vaccine design\",\n",
    "            goal=\"ensure glycoprotein antigens elicit effective immune responses\",\n",
    "            role=\"evaluate immunogenicity of engineered antigens and guide design for optimal immune activation\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Virologist\",\n",
    "            expertise=\"viral glycoproteins and pathogen-host interactions\",\n",
    "            goal=\"understand viral mechanisms to inform antigen design\",\n",
    "            role=\"provide knowledge on viral evolution and antigenic variability for better vaccine targeting\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Computational Biologist\",\n",
    "            expertise=\"bioinformatics and molecular modeling\",\n",
    "            goal=\"use AI and computational tools to predict structural stability and immunogenicity\",\n",
    "            role=\"develop and apply computational models to simulate protein folding and antigen-antibody interactions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"data analysis and biological insights\",\n",
    "            goal=\"analyze sequence and structural data to identify stability-enhancing mutations\",\n",
    "            role=\"conduct high-throughput analyses and provide data-driven recommendations\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI Specialist\",\n",
    "            expertise=\"artificial intelligence applications in biomedicine\",\n",
    "            goal=\"optimize AI tools for glycoprotein engineering\",\n",
    "            role=\"integrate AI methods to enhance predictive accuracy and guide experimental design\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"cryo-electron microscopy and X-ray crystallography of viral capsids\",\n",
    "            goal=\"characterize the structural changes in engineered AAV capsid variants\",\n",
    "            role=\"determine the structural alterations introduced by modifications and analyze their implications for receptor binding and immune evasion\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Molecular Biologist\",\n",
    "            expertise=\"AAV vector engineering and gene therapy\",\n",
    "            goal=\"develop genetically modified AAV capsid variants\",\n",
    "            role=\"engineer and validate AAV capsid variants with enhanced tissue targeting and reduced immune recognition\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Computational Biologist\",\n",
    "            expertise=\"bioinformatics and structural modeling of protein interactions\",\n",
    "            goal=\"simulate the interactions between engineered AAV capsids and cellular receptors\",\n",
    "            role=\"use computational tools to predict how modifications affect receptor binding and specificity\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Immunologist\",\n",
    "            expertise=\"immune response to viral vectors\",\n",
    "            goal=\"assess the immunogenicity of engineered AAV capsid variants\",\n",
    "            role=\"conduct experiments to evaluate how modifications impact immune recognition and potential for immune evasion\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"machine learning and data analysis in biomedical research\",\n",
    "            goal=\"analyze data from structural, molecular, and immunological studies\",\n",
    "            role=\"apply AI and machine learning to integrate diverse data sets and identify patterns that inform capsid optimization\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"protein structure and dynamics\",\n",
    "            goal=\"analyze the three-dimensional structures of immune receptors and identify structural changes induced by genetic variations\",\n",
    "            role=\"provide insights into the structural mechanisms of immune receptors and support the interpretation of experimental data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Geneticist\",\n",
    "            expertise=\"genetic variations and their implications in diseases\",\n",
    "            goal=\"identify and analyze genetic variations in immune receptors associated with autoimmune diseases\",\n",
    "            role=\"interpret genetic data and collaborate on linking structural changes to genetic variations\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Immunologist\",\n",
    "            expertise=\"immune signaling and autoimmune disease mechanisms\",\n",
    "            goal=\"assess the functional impact of structural changes on immune receptor signaling\",\n",
    "            role=\"provide biological context and help design assays to test hypotheses about altered functioning\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Computational Biologist\",\n",
    "            expertise=\"modeling and simulation of protein structures\",\n",
    "            goal=\"develop and apply computational models to predict the structural and functional impacts of mutations\",\n",
    "            role=\"perform simulations and analyses to support structural and functional insights\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatics Specialist\",\n",
    "            expertise=\"data analysis and integration\",\n",
    "            goal=\"manage and analyze large-scale genomic and structural datasets\",\n",
    "            role=\"ensure data quality and facilitate integration of genetic and structural data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI Specialist\",\n",
    "            expertise=\"artificial intelligence and machine learning applications in biomedicine\",\n",
    "            goal=\"develop AI models to predict the impact of mutations on immune receptor structures and functions\",\n",
    "            role=\"apply machine learning techniques to derive insights from complex datasets\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"X-ray crystallography and cryo-electron microscopy of membrane proteins\",\n",
    "            goal=\"elucidate the structural conformations of membrane transporters\",\n",
    "            role=\"provide structural insights and experimental data on transporter proteins\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Computational Chemist\",\n",
    "            expertise=\"molecular dynamics simulations and ligand docking\",\n",
    "            goal=\"simulate transporter dynamics and predict ligand binding sites\",\n",
    "            role=\"perform simulations to understand conformational changes and ligand interactions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"genomic and proteomic data analysis\",\n",
    "            goal=\"identify potential transporter targets and analyze sequence data\",\n",
    "            role=\"integrate sequence and structural data to inform transporter-specific characteristics\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Pharmacologist\",\n",
    "            expertise=\"drug discovery and transporter pharmacology\",\n",
    "            goal=\"test and validate selective modulators for transporters\",\n",
    "            role=\"design and conduct assays to evaluate drug efficacy and specificity\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI/ML Specialist\",\n",
    "            expertise=\"machine learning for drug discovery\",\n",
    "            goal=\"develop AI models for predicting transporter-ligand interactions\",\n",
    "            role=\"apply and refine AI algorithms to improve drug targeting strategies\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"X-ray crystallography and cryo-electron microscopy of protein complexes\",\n",
    "            goal=\"determine the 3D structures of host-pathogen complexes\",\n",
    "            role=\"elucidate the molecular architecture of viral replication complexes\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Virologist\",\n",
    "            expertise=\"viral replication mechanisms and host-virus interactions\",\n",
    "            goal=\"understand the biological roles of host proteins in viral replication\",\n",
    "            role=\"provide insights on viral life cycle and potential targets for disruption\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"computational analysis of protein-protein interactions and structural predictions\",\n",
    "            goal=\"analyze large datasets to identify key host factors in viral replication\",\n",
    "            role=\"support experimental design and data analysis with computational tools\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Medicinal Chemist\",\n",
    "            expertise=\"drug discovery and development targeting protein-protein interactions\",\n",
    "            goal=\"translate structural insights into potential therapeutic interventions\",\n",
    "            role=\"develop small molecules or peptides to disrupt host-pathogen interactions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Artificial Intelligence Specialist\",\n",
    "            expertise=\"machine learning applications in biomedical research\",\n",
    "            goal=\"apply AI to enhance structural predictions and identify novel host factors\",\n",
    "            role=\"integrate AI tools to improve data analysis and hypothesis generation\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Project Manager\",\n",
    "            expertise=\"research project management and coordination\",\n",
    "            goal=\"ensure efficient project progress and resource allocation\",\n",
    "            role=\"oversee project timeline, budget, and team coordination\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"cryo-EM and membrane protein structure\",\n",
    "            goal=\"analyze cryo-EM data to identify potential allosteric sites\",\n",
    "            role=\"provide insights into the structural aspects of membrane enzymes and assist in interpreting cryo-EM data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Computational Chemist\",\n",
    "            expertise=\"molecular dynamics simulations and drug discovery\",\n",
    "            goal=\"use computational tools to model potential allosteric sites and predict small molecules that can bind to these sites\",\n",
    "            role=\"develop computational models for simulating enzyme dynamics and identifying allosteric modulators\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"integrating structural data with bioinformatics tools\",\n",
    "            goal=\"identify conserved regions and potential allosteric sites across related enzymes\",\n",
    "            role=\"utilize sequence and structural databases to support the identification of allosteric sites\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Medicinal Chemist\",\n",
    "            expertise=\"small molecule drug design\",\n",
    "            goal=\"design and evaluate small molecules that can bind to identified allosteric sites\",\n",
    "            role=\"collaborate with the computational chemist to optimize potential drug candidates\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Cryo-EM Specialist\",\n",
    "            expertise=\"high-resolution cryo-EM data acquisition and processing\",\n",
    "            goal=\"ensure high-quality cryo-EM data collection and assist in resolving enzyme structures\",\n",
    "            role=\"manage the cryo-EM facility and provide technical support for data processing\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b49bec0b",
   "metadata": {},
   "outputs": [],
   "source": [
    "computational_biology_teams = [\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Computational Biologist\",\n",
    "            expertise=\"integrating genomic and clinical data for drug discovery\",\n",
    "            goal=\"utilize genomic information to guide personalized medicine approaches\",\n",
    "            role=\"advise on the integration of genomic data into generative AI models for drug discovery\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Medicinal Chemist\",\n",
    "            expertise=\"drug compound synthesis and optimization\",\n",
    "            goal=\"ensure the synthesized compounds are chemically viable and effective\",\n",
    "            role=\"provide insights into chemical structures and properties that generative AI models should consider\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"machine learning and data analysis\",\n",
    "            goal=\"develop and refine generative AI models for drug discovery\",\n",
    "            role=\"design and implement algorithms to generate novel drug compounds tailored to patient data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"analysis of high-throughput genomics data\",\n",
    "            goal=\"extract meaningful patterns from genomic data to inform drug design\",\n",
    "            role=\"assist in the preprocessing and analysis of genomic data to be used by AI models\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Pharmacologist\",\n",
    "            expertise=\"clinical applications of pharmacological compounds\",\n",
    "            goal=\"translate computational findings to clinical settings\",\n",
    "            role=\"evaluate the potential clinical efficacy and safety of AI-generated drug compounds\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"AI Ethicist\",\n",
    "            expertise=\"ethical assessment and guidelines for AI systems\",\n",
    "            goal=\"ensure the AI models align with ethical standards and address trust issues\",\n",
    "            role=\"analyze ethical implications and provide guidelines for model transparency and accountability\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Data Scientist\",\n",
    "            expertise=\"handling and analyzing large clinical datasets\",\n",
    "            goal=\"develop models with robust data input and improve data-driven decision making\",\n",
    "            role=\"ensure data quality and relevance for model training and validation\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Interpretable Machine Learning Expert\",\n",
    "            expertise=\"developing techniques for interpretable and explainable AI\",\n",
    "            goal=\"create methods to make AI models more transparent and understandable\",\n",
    "            role=\"design and implement algorithms that enhance model interpretability\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Biomedical Informatics Specialist\",\n",
    "            expertise=\"integrating AI systems in clinical settings\",\n",
    "            goal=\"facilitate the adoption of AI tools in healthcare environments\",\n",
    "            role=\"bridge the gap between AI development and clinical application\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Software Engineer\",\n",
    "            expertise=\"designing and implementing scalable software solutions\",\n",
    "            goal=\"develop a robust and user-friendly software platform for AI deployment\",\n",
    "            role=\"collaborate on integrating interpretability features into AI applications\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Practitioner\",\n",
    "            expertise=\"practical application of AI systems in clinical practice\",\n",
    "            goal=\"provide insights into clinical workflows and decision-making processes\",\n",
    "            role=\"evaluate the practical usability and trust of AI systems in real-world scenarios\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Computational Biologist\",\n",
    "            expertise=\"developing algorithms for analyzing biological data\",\n",
    "            goal=\"integrate computational methods with biological research to enhance understanding of disease mechanisms\",\n",
    "            role=\"design and implement deep learning algorithms tailored for analyzing histopathological images\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Pathologist\",\n",
    "            expertise=\"diagnosis of disease based on the examination of tissue samples\",\n",
    "            goal=\"provide expert insight into pathological features critical for cancer diagnosis\",\n",
    "            role=\"guide the development of AI models by identifying key pathological features and validating model outputs\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"data analysis and machine learning\",\n",
    "            goal=\"develop and validate predictive models using large datasets\",\n",
    "            role=\"apply deep learning techniques to create models that can assist in the automatic detection of pathological features\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Biostatistician\",\n",
    "            expertise=\"statistical analysis in medical research\",\n",
    "            goal=\"ensure the statistical validity and reliability of research findings\",\n",
    "            role=\"design the study and analyze data to evaluate the performance of the AI models\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Software Engineer\",\n",
    "            expertise=\"software development and implementation\",\n",
    "            goal=\"develop robust and scalable software solutions for biomedical applications\",\n",
    "            role=\"develop the software infrastructure needed to implement and deploy deep learning models for histopathological analysis\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"large-scale data processing and analysis in healthcare\",\n",
    "            goal=\"develop robust data-centric strategies to mitigate bias in AI models\",\n",
    "            role=\"design data pipelines that ensure diversity and fairness in training datasets\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Ethicist\",\n",
    "            expertise=\"ethics in AI and healthcare\",\n",
    "            goal=\"ensure that ethical considerations are central to the design and implementation of AI models\",\n",
    "            role=\"identify potential ethical issues and provide guidance on bias mitigation strategies\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI Researcher\",\n",
    "            expertise=\"natural language processing and bias mitigation techniques\",\n",
    "            goal=\"develop algorithmic solutions to reduce bias in AI language models\",\n",
    "            role=\"design and implement novel algorithms to detect and mitigate bias\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Healthcare Professional\",\n",
    "            expertise=\"clinical communication and patient care\",\n",
    "            goal=\"provide insights into how AI models can be integrated into clinical workflows\",\n",
    "            role=\"ensure that the models are clinically relevant and beneficial to patient care, especially for underrepresented groups\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Statistician\",\n",
    "            expertise=\"statistical methods for bias detection and evaluation\",\n",
    "            goal=\"apply statistical techniques to evaluate the fairness and performance of AI models\",\n",
    "            role=\"design experiments and analyses to quantify bias and its impact on model outcomes\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Data Privacy Specialist\",\n",
    "            expertise=\"data privacy and security in healthcare data\",\n",
    "            goal=\"ensure that federated learning models comply with privacy regulations and maintain patient confidentiality\",\n",
    "            role=\"develop privacy-preserving techniques and protocols for federated learning in biomedical research\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Machine Learning Engineer\",\n",
    "            expertise=\"designing and implementing federated learning algorithms\",\n",
    "            goal=\"create and optimize federated learning models suitable for rare disease data\",\n",
    "            role=\"develop federated learning architectures and ensure their scalability and efficiency\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Biomedical Informatics Expert\",\n",
    "            expertise=\"integrating biomedical data for research purposes\",\n",
    "            goal=\"facilitate the integration and preprocessing of disparate rare disease datasets from multiple institutions\",\n",
    "            role=\"ensure data quality and interoperability in federated learning setups\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Researcher\",\n",
    "            expertise=\"rare disease research and clinical data collection\",\n",
    "            goal=\"provide domain-specific insights and validate the clinical applicability of federated learning models\",\n",
    "            role=\"advise on the interpretation of model outputs in the context of rare diseases\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Ethicist\",\n",
    "            expertise=\"bioethics and ethical considerations in data-driven research\",\n",
    "            goal=\"address ethical challenges related to federated learning and patient data usage\",\n",
    "            role=\"provide guidance on ethical guidelines and community engagement strategies\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Clinical Trials Expert\",\n",
    "            expertise=\"design and execution of clinical trials\",\n",
    "            goal=\"ensure clinical trial design is efficient, meets regulatory standards, and is scientifically rigorous\",\n",
    "            role=\"provide insights into patient selection, endpoint identification, and trial parameters\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"statistical analysis and data management\",\n",
    "            goal=\"analyze and interpret complex datasets to derive actionable insights\",\n",
    "            role=\"develop data-driven models to support AI in optimizing clinical trial design\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI Specialist\",\n",
    "            expertise=\"machine learning and artificial intelligence\",\n",
    "            goal=\"implement AI algorithms to enhance clinical trial processes\",\n",
    "            role=\"design AI models that can optimize patient selection, endpoint identification, and trial parameters\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Regulatory Affairs Specialist\",\n",
    "            expertise=\"regulatory guidelines and compliance in clinical trials\",\n",
    "            goal=\"ensure all aspects of the clinical trial design adhere to regulatory requirements\",\n",
    "            role=\"advise on regulatory considerations and assist in preparing submissions to regulatory agencies\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Ethics Consultant\",\n",
    "            expertise=\"bioethics and ethical considerations in clinical research\",\n",
    "            goal=\"ensure ethical standards are upheld in the design and execution of clinical trials\",\n",
    "            role=\"provide guidance on ethical issues related to patient selection and trial conduct\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"multi-modal data integration and machine learning\",\n",
    "            goal=\"develop algorithms for integrating heterogeneous data sources\",\n",
    "            role=\"design and implement models that can process and learn from diverse data types such as imaging, genomics, and EHR data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"genomics and bioinformatics\",\n",
    "            goal=\"provide insights on genomic data processing and integration\",\n",
    "            role=\"ensure that genomic data is accurately represented and integrated into the multi-modal models\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Researcher\",\n",
    "            expertise=\"electronic health records and clinical data\",\n",
    "            goal=\"translate clinical data insights to inform model development\",\n",
    "            role=\"advise on the clinical relevance and applicability of the integrated models to real-world healthcare settings\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Radiologist\",\n",
    "            expertise=\"medical imaging and radiology\",\n",
    "            goal=\"provide domain expertise on imaging data interpretation\",\n",
    "            role=\"ensure that imaging data is effectively utilized within the multi-modal models for improved diagnostic accuracy\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI Ethicist\",\n",
    "            expertise=\"ethics of artificial intelligence in healthcare\",\n",
    "            goal=\"address ethical considerations and implications of using AI in healthcare\",\n",
    "            role=\"ensure that ethical guidelines are followed in the development and deployment of AI models\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Software Engineer\",\n",
    "            expertise=\"software development and machine learning infrastructure\",\n",
    "            goal=\"build and maintain the computational infrastructure necessary for model training and deployment\",\n",
    "            role=\"provide technical support and optimization for large-scale data processing and model integration\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"data analysis and machine learning\",\n",
    "            goal=\"develop techniques for quantifying the marginal utility of data points\",\n",
    "            role=\"design and implement algorithms to evaluate data contributions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Biostatistician\",\n",
    "            expertise=\"statistical methods in biomedical research\",\n",
    "            goal=\"apply statistical techniques to assess data quality and value\",\n",
    "            role=\"provide statistical insights into data valuation methodologies\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"integration and analysis of complex biological data\",\n",
    "            goal=\"ensure the relevance and applicability of data valuation techniques to biomedical datasets\",\n",
    "            role=\"advise on the biological context and significance of data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Ethical AI Specialist\",\n",
    "            expertise=\"ethics in artificial intelligence and data sharing\",\n",
    "            goal=\"address ethical considerations in data valuation and sharing\",\n",
    "            role=\"ensure the project adheres to ethical guidelines and promotes fair data use\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI/ML Engineer\",\n",
    "            expertise=\"development and deployment of AI/ML models\",\n",
    "            goal=\"optimize model training processes with valuable data\",\n",
    "            role=\"implement efficient practices for incorporating high-value data into models\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Economist\",\n",
    "            expertise=\"valuation and incentives in data economy\",\n",
    "            goal=\"explore economic models to incentivize data sharing based on data value\",\n",
    "            role=\"provide insights into the economic implications of data valuation\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Natural Language Processing Expert\",\n",
    "            expertise=\"developing algorithms for language understanding and simplification\",\n",
    "            goal=\"design AI models that effectively simplify complex medical texts\",\n",
    "            role=\"create and refine NLP models suitable for medical text translation\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Biomedical Informatics Specialist\",\n",
    "            expertise=\"integrating biomedical data with AI systems\",\n",
    "            goal=\"ensure the AI's medical text simplification is accurate and context-aware\",\n",
    "            role=\"provide domain knowledge and guide model training with medical datasets\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Communication Expert\",\n",
    "            expertise=\"improving patient understanding and communication\",\n",
    "            goal=\"assess and improve the comprehensibility of simplified medical texts\",\n",
    "            role=\"evaluate simplified texts and provide feedback for patient accessibility\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Machine Learning Engineer\",\n",
    "            expertise=\"building and deploying AI systems\",\n",
    "            goal=\"develop scalable AI solutions for real-world application in medical documentation\",\n",
    "            role=\"optimize AI models for efficiency and performance\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Ethics and Compliance Advisor\",\n",
    "            expertise=\"ensuring AI applications meet ethical and regulatory standards\",\n",
    "            goal=\"guide the team to maintain ethical standards in AI design and deployment\",\n",
    "            role=\"review AI systems for compliance with health regulations and ethical guidelines\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"machine learning and data analysis\",\n",
    "            goal=\"develop predictive models and handle large-scale datasets for analysis\",\n",
    "            role=\"design and implement machine learning algorithms for early disease detection\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"genomics and computational biology\",\n",
    "            goal=\"integrate and analyze biological data to inform disease prediction models\",\n",
    "            role=\"provide biological insights and validate model predictions with genomic data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Researcher\",\n",
    "            expertise=\"clinical trials and healthcare data\",\n",
    "            goal=\"ensure the clinical relevance of predictive models and interpret medical implications\",\n",
    "            role=\"align predictive models with clinical practices and patient outcomes\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Epidemiologist\",\n",
    "            expertise=\"public health and disease surveillance\",\n",
    "            goal=\"understand disease patterns and risk factors to enhance predictive models\",\n",
    "            role=\"incorporate population health data and longitudinal studies into model development\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Software Engineer\",\n",
    "            expertise=\"software development and computational efficiency\",\n",
    "            goal=\"develop robust, scalable software solutions for model deployment\",\n",
    "            role=\"optimize algorithms and implement efficient data processing pipelines\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f514fbec",
   "metadata": {},
   "outputs": [],
   "source": [
    "protein_engineering_teams_2 = [\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Bioinformatics Specialist\",\n",
    "            expertise=\"computational biology and bioinformatics\",\n",
    "            goal=\"develop algorithms to analyze biological data, focusing on sequence alignment and pattern recognition\",\n",
    "            role=\"design and implement computational tools to identify potential molecular mimicry candidates by analyzing sequence homology and structural similarities\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"protein structure and function\",\n",
    "            goal=\"understand the structural basis of protein interactions and potential molecular mimicry\",\n",
    "            role=\"analyze and interpret protein structural data to identify structural mimicry between human proteins and pathogens\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Immunologist\",\n",
    "            expertise=\"immune system response and pathogen interaction\",\n",
    "            goal=\"investigate how molecular mimicry might affect immune response\",\n",
    "            role=\"provide insights into how structural or sequence mimicry could trigger autoimmune responses or affect immune recognition\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Machine Learning Scientist\",\n",
    "            expertise=\"artificial intelligence and machine learning\",\n",
    "            goal=\"develop models to predict molecular mimicry using AI techniques\",\n",
    "            role=\"apply and optimize machine learning algorithms to predict potential mimicry candidates, integrating sequence and structural data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"data analysis and integration\",\n",
    "            goal=\"manage and analyze large datasets effectively\",\n",
    "            role=\"integrate various datasets, ensuring data quality and consistency for analysis, and collaborate with the team to draw meaningful conclusions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Pathogen Genomics Expert\",\n",
    "            expertise=\"genomics of pathogens\",\n",
    "            goal=\"identify pathogen genetic sequences that could mimic host proteins\",\n",
    "            role=\"provide insights on pathogen genetics and assist in identifying sequences of interest for mimicry analysis\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Computational Biologist\",\n",
    "            expertise=\"bioinformatics and computational modeling\",\n",
    "            goal=\"develop computational approaches to identify potential fusion tag candidates\",\n",
    "            role=\"design and implement algorithms to screen and evaluate protein sequences for novel fusion tags\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Structural Biologist\",\n",
    "            expertise=\"protein structure and function\",\n",
    "            goal=\"analyze the structural characteristics of potential fusion tags\",\n",
    "            role=\"use structural bioinformatics tools to predict the stability and functionality of identified fusion tag candidates\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Molecular Biologist\",\n",
    "            expertise=\"gene cloning and protein expression\",\n",
    "            goal=\"experimentally validate the computational predictions of fusion tags\",\n",
    "            role=\"design and conduct laboratory experiments to express and test the functionality of new fusion tag candidates\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"machine learning and data analysis\",\n",
    "            goal=\"apply machine learning techniques to refine fusion tag discovery\",\n",
    "            role=\"develop models to predict and optimize the properties of fusion tags based on experimental data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Project Manager\",\n",
    "            expertise=\"project management and resource allocation\",\n",
    "            goal=\"ensure the project stays on track and within budget\",\n",
    "            role=\"coordinate between team members and manage project timelines and resources\",\n",
    "            model=model,\n",
    "        )\n",
    "    ]\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a7e2666b",
   "metadata": {},
   "outputs": [],
   "source": [
    "computational_biology_teams_2 = [\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Machine Learning Researcher\",\n",
    "            expertise=\"robustness and generalization of machine learning models\",\n",
    "            goal=\"develop methods to improve model performance under distribution shifts\",\n",
    "            role=\"design and test algorithms for enhancing model robustness across diverse clinical settings\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Data Scientist\",\n",
    "            expertise=\"healthcare data analysis and integration\",\n",
    "            goal=\"ensure the clinical relevance and applicability of AI models in different settings\",\n",
    "            role=\"provide insights on data preprocessing and feature engineering for diverse hospital datasets\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Epidemiologist\",\n",
    "            expertise=\"population health and statistical modeling\",\n",
    "            goal=\"understand population-level factors affecting clinical data\",\n",
    "            role=\"analyze demographic and epidemiological factors contributing to distribution shifts\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatics Specialist\",\n",
    "            expertise=\"biomedical data integration and analysis\",\n",
    "            goal=\"facilitate the integration of multi-source biomedical data\",\n",
    "            role=\"assist in combining data from various sources and formats for robust model training\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Healthcare IT Specialist\",\n",
    "            expertise=\"healthcare systems and technology infrastructure\",\n",
    "            goal=\"ensure seamless deployment and interoperability of AI models across healthcare settings\",\n",
    "            role=\"address technical challenges related to deploying models in different hospitals and devices\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"natural language processing and machine learning\",\n",
    "            goal=\"develop and optimize algorithms for detecting misinformation in text data\",\n",
    "            role=\"design models and analyze data to improve misinformation detection accuracy\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Social Media Analyst\",\n",
    "            expertise=\"social media data analysis and trends\",\n",
    "            goal=\"understand how medical misinformation spreads across platforms\",\n",
    "            role=\"provide insights into social media dynamics and user behavior\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Healthcare Professional\",\n",
    "            expertise=\"medical knowledge and public health\",\n",
    "            goal=\"ensure the medical accuracy of identified information\",\n",
    "            role=\"validate the content flagged as misinformation from a clinical perspective\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI Ethicist\",\n",
    "            expertise=\"ethical implications of AI technologies\",\n",
    "            goal=\"address ethical concerns related to AI use in social media monitoring\",\n",
    "            role=\"ensure compliance with ethical standards and privacy laws\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Software Engineer\",\n",
    "            expertise=\"software development and system integration\",\n",
    "            goal=\"implement and deploy AI models efficiently\",\n",
    "            role=\"build and deploy scalable systems for real-time misinformation detection\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Machine Learning Expert\",\n",
    "            expertise=\"self-supervised learning and time series analysis\",\n",
    "            goal=\"develop novel self-supervised learning techniques tailored for biomedical signals\",\n",
    "            role=\"design and implement self-supervised learning algorithms, and evaluate their performance on biomedical time series data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Biomedical Engineer\",\n",
    "            expertise=\"biomedical signal processing and analysis\",\n",
    "            goal=\"ensure that the machine learning models are effectively aligned with biomedical signal characteristics\",\n",
    "            role=\"provide insights into the nuances of ECG and EEG signals to guide the adaptation of learning methods\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"data preprocessing and feature extraction\",\n",
    "            goal=\"optimize the use of available biomedical data through effective preprocessing and feature engineering strategies\",\n",
    "            role=\"implement data cleaning, transformation, and feature extraction pipelines for biomedical time series data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Researcher\",\n",
    "            expertise=\"clinical applications of biomedical signal data\",\n",
    "            goal=\"ensure that the research aligns with clinical needs and potential applications\",\n",
    "            role=\"provide expertise on real-world clinical challenges and validate the clinical relevance of the developed models\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"AI Ethicist\",\n",
    "            expertise=\"ethical implications of AI in healthcare\",\n",
    "            goal=\"ensure the ethical deployment and use of AI technologies in biomedical signal processing\",\n",
    "            role=\"assess and guide the team on ethical considerations and compliance with healthcare regulations\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"unsupervised learning and clustering algorithms\",\n",
    "            goal=\"develop and optimize unsupervised learning models to identify patterns in multi-modal data\",\n",
    "            role=\"design and implement clustering algorithms, conduct experiments to assess model performance, and collaborate with domain experts for interpretation\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Biomedical Data Analyst\",\n",
    "            expertise=\"multi-modal biomedical data integration\",\n",
    "            goal=\"integrate diverse data types to create a comprehensive dataset for analysis\",\n",
    "            role=\"collect, preprocess, and integrate patient data from various sources, ensuring data quality and consistency\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Researcher\",\n",
    "            expertise=\"heterogeneous diseases such as autism and depression\",\n",
    "            goal=\"provide clinical insights to guide the identification of disease subtypes\",\n",
    "            role=\"interpret the clinical relevance of identified subtypes, validate findings with clinical data, and provide domain-specific knowledge\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"genomic and proteomic data analysis\",\n",
    "            goal=\"analyze genetic and proteomic data to find correlations with identified disease subtypes\",\n",
    "            role=\"conduct in-depth analyses of genomic and proteomic datasets, collaborate with data scientists to integrate findings into machine learning models\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Software Engineer\",\n",
    "            expertise=\"machine learning infrastructure and deployment\",\n",
    "            goal=\"ensure robust and scalable implementation of machine learning models\",\n",
    "            role=\"develop software tools for data processing and model deployment, optimize computational efficiency, and maintain the project’s technical infrastructure\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"machine learning and data analysis\",\n",
    "            goal=\"develop and fine-tune machine learning models for real-time predictions\",\n",
    "            role=\"design algorithms for high-sensitivity predictions using streaming ICU data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Intensivist\",\n",
    "            expertise=\"critical care medicine\",\n",
    "            goal=\"provide clinical insights and validate model predictions against clinical outcomes\",\n",
    "            role=\"ensure the model addresses clinically relevant scenarios and integrates seamlessly into ICU workflows\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Biomedical Engineer\",\n",
    "            expertise=\"data engineering and integration\",\n",
    "            goal=\"streamline the process of integrating streaming ICU data into machine learning systems\",\n",
    "            role=\"oversee data collection, preprocessing, and ensure data integrity and security\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Ethicist\",\n",
    "            expertise=\"biomedical ethics\",\n",
    "            goal=\"ensure ethical considerations are integrated into the research process\",\n",
    "            role=\"address patient privacy concerns and ensure compliance with ethical standards\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Software Engineer\",\n",
    "            expertise=\"system architecture and software development\",\n",
    "            goal=\"build a robust software architecture for real-time data processing and model deployment\",\n",
    "            role=\"develop and maintain the infrastructure necessary for real-time analytics\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Genetic Epidemiologist\",\n",
    "            expertise=\"studying the role of genetic factors in determining health and disease in families and populations\",\n",
    "            goal=\"provide insights on genetic data and help design studies to assess gene-environment interactions\",\n",
    "            role=\"advise on genetic data integration and ensure study designs are robust to detect interactions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Computational Biologist\",\n",
    "            expertise=\"developing computational models to analyze complex biological data\",\n",
    "            goal=\"design algorithms that can efficiently handle high-dimensional biological data\",\n",
    "            role=\"create scalable machine learning frameworks for gene-environment interaction analysis\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"using software tools to manage and analyze genomic and environmental data\",\n",
    "            goal=\"ensure data quality and develop pipelines to preprocess and integrate diverse datasets\",\n",
    "            role=\"support data integration and preprocessing for machine learning applications\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"applying machine learning techniques to derive insights from large datasets\",\n",
    "            goal=\"build and optimize predictive models for gene-environment interactions\",\n",
    "            role=\"apply machine learning methods to identify patterns and interactions in biobank data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Statistical Geneticist\",\n",
    "            expertise=\"applying statistical methods to study genetic data\",\n",
    "            goal=\"provide expertise in statistical models that consider gene-environment interactions\",\n",
    "            role=\"advise on statistical techniques to ensure robust modeling of complex data\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Environmental Scientist\",\n",
    "            expertise=\"studying environmental factors and their impact on health\",\n",
    "            goal=\"identify relevant environmental variables and assess their interaction with genetic factors\",\n",
    "            role=\"provide insights into environmental data and help interpret the findings in a biological context\",\n",
    "            model=model,\n",
    "        )\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"deep learning and machine learning models\",\n",
    "            goal=\"develop robust deep learning models for personalized risk scoring\",\n",
    "            role=\"design and implement neural network architectures and validate model performance\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"biomedical data integration and analysis\",\n",
    "            goal=\"ensure accurate integration of EHR and lifestyle data for model training\",\n",
    "            role=\"manage data preprocessing and feature extraction from complex datasets\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Clinical Epidemiologist\",\n",
    "            expertise=\"chronic disease epidemiology and clinical insights\",\n",
    "            goal=\"provide clinical perspective and validate clinical relevance of risk scores\",\n",
    "            role=\"ensure clinical applicability of the models and interpret clinical outcomes\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Privacy and Ethics Specialist\",\n",
    "            expertise=\"data privacy and ethics in health research\",\n",
    "            goal=\"ensure compliance with ethical standards and data privacy regulations\",\n",
    "            role=\"oversee data handling practices to protect patient privacy and manage ethical considerations\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Health Informatics Specialist\",\n",
    "            expertise=\"longitudinal EHR data management\",\n",
    "            goal=\"optimize the use of longitudinal data for dynamic risk prediction\",\n",
    "            role=\"guide the integration and management of EHR data for model inputs\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Computational Biologist\",\n",
    "            expertise=\"CRISPR technology and genomic data analysis\",\n",
    "            goal=\"analyze CRISPR datasets to extract features relevant for guide RNA efficacy and specificity\",\n",
    "            role=\"provide insights into CRISPR biology and assist in dataset curation\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Machine Learning Scientist\",\n",
    "            expertise=\"deep learning and model training\",\n",
    "            goal=\"develop and train deep learning models to predict optimal guide RNA sequences\",\n",
    "            role=\"design neural network architectures and optimize model performance\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Bioinformatician\",\n",
    "            expertise=\"processing and managing large biological datasets\",\n",
    "            goal=\"ensure the efficient handling and integration of efficacy and off-target datasets\",\n",
    "            role=\"develop pipelines to preprocess data and evaluate model predictions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Geneticist\",\n",
    "            expertise=\"gene editing and functional genomics\",\n",
    "            goal=\"validate model predictions experimentally and provide feedback on guide RNA performance\",\n",
    "            role=\"conduct laboratory experiments to test the efficacy of predicted guide RNAs\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"statistical analysis and data interpretation\",\n",
    "            goal=\"evaluate model results and ensure statistical robustness of predictions\",\n",
    "            role=\"apply statistical techniques to assess the significance and reliability of model outcomes\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"Causal Inference Specialist\",\n",
    "            expertise=\"expertise in causal inference and its application to large datasets\",\n",
    "            goal=\"develop and implement causal inference models to isolate the impact of health policies\",\n",
    "            role=\"provide insights and methodologies for applying causal machine learning techniques to our datasets\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Machine Learning Engineer\",\n",
    "            expertise=\"experience in designing and implementing machine learning models, particularly in healthcare\",\n",
    "            goal=\"ensure robust and efficient model development and integration into the research framework\",\n",
    "            role=\"work on model selection, training, and testing of causal machine learning methods\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"EHR Data Scientist\",\n",
    "            expertise=\"working with electronic health records and understanding their structure and limitations\",\n",
    "            goal=\"extract, preprocess, and ensure the quality and integrity of EHR data for analysis\",\n",
    "            role=\"manage data extraction and preprocessing tasks and provide insights into EHR data utilization\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Public Health Expert\",\n",
    "            expertise=\"understanding of public health datasets and health policy analysis\",\n",
    "            goal=\"interpret the public health implications of the findings and provide context for health policy evaluation\",\n",
    "            role=\"offer guidance on public health datasets and aid in the interpretation of results as they relate to health interventions\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Health Policy Analyst\",\n",
    "            expertise=\"analysis and evaluation of health policies\",\n",
    "            goal=\"connect the research findings with practical policy implications\",\n",
    "            role=\"provide expertise in health policy context and ensure our models and findings align with real-world policy scenarios\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ],\n",
    "    [\n",
    "        Agent(\n",
    "            title=\"AI Developer\",\n",
    "            expertise=\"developing no-code and low-code platforms for AI applications\",\n",
    "            goal=\"create intuitive interfaces and backend systems for no-code AI tools\",\n",
    "            role=\"design architectures and algorithms that allow non-experts to create AI models without coding expertise\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Healthcare Professional\",\n",
    "            expertise=\"clinical operations and patient data management\",\n",
    "            goal=\"ensure the platform meets the practical needs of clinicians and integrates smoothly into existing workflows\",\n",
    "            role=\"provide insights into healthcare workflows and validate the clinical relevance of AI models\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"User Experience Designer\",\n",
    "            expertise=\"designing user-friendly interfaces for complex systems\",\n",
    "            goal=\"create an intuitive user experience for clinicians using the no-code platform\",\n",
    "            role=\"design the interface and interaction flow of the AI platform to ensure ease of use\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Data Scientist\",\n",
    "            expertise=\"data analysis and model validation in healthcare\",\n",
    "            goal=\"ensure the accuracy and reliability of predictive models produced by the platform\",\n",
    "            role=\"develop methods for data preprocessing, model training, and validation tailored to clinicians' needs\",\n",
    "            model=model,\n",
    "        ),\n",
    "        Agent(\n",
    "            title=\"Ethics Specialist\",\n",
    "            expertise=\"ethical considerations in AI and data privacy\",\n",
    "            goal=\"incorporate ethical guidelines and data privacy measures into the platform\",\n",
    "            role=\"advise on ethical use of AI and ensure compliance with healthcare data regulations\",\n",
    "            model=model,\n",
    "        ),\n",
    "    ]\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cd6abc88",
   "metadata": {},
   "outputs": [],
   "source": [
    "scientist_teams = protein_engineering_teams + computational_biology_teams + protein_engineering_teams_2 + computational_biology_teams_2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d6112786",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Run discussions\n",
    "for num, (agenda, scientist_team) in enumerate(zip(agendas, scientist_teams)):\n",
    "    if num < 20:\n",
    "        continue\n",
    "\n",
    "    # Generic agent single\n",
    "    run_meeting(\n",
    "        meeting_type=\"individual\",\n",
    "        team_member=generic_agent,\n",
    "        agenda=agenda,\n",
    "        save_dir=human_eval_dir,\n",
    "        save_name=f\"{num + 1}_generic_single\",\n",
    "        temperature=CREATIVE_TEMPERATURE,\n",
    "        num_rounds=0,\n",
    "    )\n",
    "\n",
    "    # Generic agent team\n",
    "    generic_team = [\n",
    "        Agent(\n",
    "            title=f\"{generic_agent.title} {i}\",\n",
    "            expertise=generic_agent.expertise,\n",
    "            goal=generic_agent.goal,\n",
    "            role=generic_agent.role,\n",
    "            model=model,\n",
    "        )\n",
    "        for i in range(1, len(scientist_team) + 1)\n",
    "    ]\n",
    "\n",
    "    run_meeting(\n",
    "        meeting_type=\"team\",\n",
    "        team_lead=generic_team_lead,\n",
    "        team_members=generic_team,\n",
    "        agenda=agenda,\n",
    "        save_dir=human_eval_dir,\n",
    "        save_name=f\"{num + 1}_generic_team\",\n",
    "        temperature=CREATIVE_TEMPERATURE,\n",
    "        num_rounds=num_rounds,\n",
    "    )\n",
    "\n",
    "    # Scientist agent team\n",
    "    run_meeting(\n",
    "        meeting_type=\"team\",\n",
    "        team_lead=principal_investigator,\n",
    "        team_members=scientist_team,\n",
    "        agenda=agenda,\n",
    "        save_dir=human_eval_dir,\n",
    "        save_name=f\"{num + 1}_scientist_team\",\n",
    "        temperature=CREATIVE_TEMPERATURE,\n",
    "        num_rounds=num_rounds,\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5e5c0165",
   "metadata": {},
   "source": [
    "## Anonymize and randomize"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "9ea4ec99",
   "metadata": {},
   "outputs": [],
   "source": [
    "order = []\n",
    "\n",
    "random = Random(0)\n",
    "\n",
    "for num, scientist_team in enumerate(scientist_teams):\n",
    "    # Set up names\n",
    "    names = [\"generic_single\", \"generic_team\", \"scientist_team\"]\n",
    "    name_to_discussion = {}\n",
    "\n",
    "    # Load discussions\n",
    "    for name in names:\n",
    "        with open(human_eval_dir / f\"{num + 1}_{name}.md\") as f:\n",
    "            name_to_discussion[name] = f.read()\n",
    "\n",
    "    # Anonymize PI\n",
    "    name_to_discussion[\"scientist_team\"] = name_to_discussion[\"scientist_team\"].replace(f\"the {principal_investigator.title}\", generic_team_lead.title)\n",
    "    name_to_discussion[\"scientist_team\"] = name_to_discussion[\"scientist_team\"].replace(principal_investigator.title, generic_team_lead.title)\n",
    "\n",
    "    # Anonymize scientists\n",
    "    for i, agent in enumerate(scientist_team):\n",
    "        generic_title = f\"{generic_agent.title} {i + 1}\"\n",
    "        name_to_discussion[\"scientist_team\"] = name_to_discussion[\"scientist_team\"].replace(f\"the {agent.title}\", generic_title)\n",
    "        name_to_discussion[\"scientist_team\"] = name_to_discussion[\"scientist_team\"].replace(agent.title, generic_title)\n",
    "\n",
    "    # Randomize order\n",
    "    random.shuffle(names)\n",
    "    order.append(names)\n",
    "\n",
    "    # Save randomized discussions\n",
    "    for i, name in enumerate(names):\n",
    "        with open(blinded_dir / f\"{num + 1}_{i + 1}.md\", \"w\") as f:\n",
    "            f.write(name_to_discussion[name])\n",
    "\n",
    "# Save order\n",
    "with open(blinded_dir / \"order.json\", \"w\") as f:\n",
    "    json.dump(order, f, indent=4)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "64354163",
   "metadata": {},
   "source": [
    "## Analyze ratings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "8b4a9717",
   "metadata": {},
   "outputs": [],
   "source": [
    "order = pd.read_json(blinded_dir / \"order.json\")\n",
    "ranks = pd.read_csv(blinded_dir / \"rankings.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "571e4623",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "generic_single: 2.73\n",
      "generic_team: 2.13\n",
      "scientist_team: 1.13\n"
     ]
    }
   ],
   "source": [
    "discussion_type_to_ranks = {\n",
    "    \"generic_single\": [],\n",
    "    \"generic_team\": [],\n",
    "    \"scientist_team\": [],\n",
    "}\n",
    "\n",
    "for order_row, ranks_row in zip(order[[0, 1, 2]].values, ranks[[\"Discussion 1 Rank\", \"Discussion 2 Rank\", \"Discussion 3 Rank\"]].values):\n",
    "    for discussion_type, rank in zip(order_row, ranks_row):\n",
    "        discussion_type_to_ranks[discussion_type].append(int(rank))\n",
    "\n",
    "for discussion_type, rank_values in discussion_type_to_ranks.items():\n",
    "    print(f\"{discussion_type}: {np.mean(rank_values):.2f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "998cb504",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generic Single vs Generic Team: Bonferroni-corrected p=1.96e-02\n",
      "Generic Single vs Scientist Team: Bonferroni-corrected p=3.88e-06\n",
      "Generic Team vs Scientist Team: Bonferroni-corrected p=1.28e-05\n"
     ]
    }
   ],
   "source": [
    "# Number of comparisons\n",
    "num_comparisons = 3\n",
    "\n",
    "# Run Wilcoxon tests\n",
    "stat_generic_single_vs_generic_team, p_generic_single_vs_generic_team = wilcoxon(discussion_type_to_ranks[\"generic_single\"], discussion_type_to_ranks[\"generic_team\"])\n",
    "stat_generic_single_vs_scientist_team, p_generic_single_vs_scientist_team = wilcoxon(discussion_type_to_ranks[\"generic_single\"], discussion_type_to_ranks[\"scientist_team\"])\n",
    "stat_generic_team_vs_scientist_team, p_generic_team_vs_scientist_team = wilcoxon(discussion_type_to_ranks[\"generic_team\"], discussion_type_to_ranks[\"scientist_team\"])\n",
    "\n",
    "# Apply Bonferroni correction\n",
    "p_generic_single_vs_generic_team_adj = min(p_generic_single_vs_generic_team * num_comparisons, 1.0)\n",
    "p_generic_single_vs_scientist_team_adj = min(p_generic_single_vs_scientist_team * num_comparisons, 1.0)\n",
    "p_generic_team_vs_scientist_team_adj = min(p_generic_team_vs_scientist_team * num_comparisons, 1.0)\n",
    "\n",
    "# Report results\n",
    "print(f\"Generic Single vs Generic Team: Bonferroni-corrected p={p_generic_single_vs_generic_team_adj:.2e}\")\n",
    "print(f\"Generic Single vs Scientist Team: Bonferroni-corrected p={p_generic_single_vs_scientist_team_adj:.2e}\")\n",
    "print(f\"Generic Team vs Scientist Team: Bonferroni-corrected p={p_generic_team_vs_scientist_team_adj:.2e}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "c037919d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXRxJREFUeJzt3QeYVNX9P/4DgohIEQFFRexiiw2NNTZs2MUKFjRYY0Njgi1qYkmCvfeoUaPGjvo1qH8bmhgULFFRVFQssUZBURDY//M5v2f2WdjCLuzdXXZfr+e5z+zOvTNzZ3bnzrzvOedzWpWVlZUlAAAAoN61rv+7BAAAAILQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBB2hR1x83JzJkz0yeffJI6duyYWrVq1di7AwAAQCMrKytLkydPTksuuWRq3br69myhuxYicPfq1auxdwMAAIAmZuLEiWnppZeudr3QXQvRwl16MTt16tTYuwMAAEAjmzRpUm6cLeXF6gjdtVDqUh6BW+gGAACgZE5DkBVSAwAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAg5uku2PTp0/MC9al169apbdu2c5wTEAAAaFxCd0GmTJmSvvzyy/T999839q7QTEXo7tixY+rWrVtaYIEFGnt3AACAKgjdBZg2bVqaOHFiDkU9e/ZM7dq10yJJvSkrK0szZsxI3333Xfrmm2/SDz/8kHr16iV4AwBAEyR0F+Dzzz/PAah3796CEIVZZJFFUufOndOHH36Ye1Usvvjijb1LAADAbBRSK6AVMrqWRxgSuCla+/btU6dOndLkyZPz/x4AANC0CN317KeffspdfyMMQUOIcd3xfxcLAADQtAjd9WzmzJn5Uis3DaX0v1b63wMAAJoOobsgCqfRUPyvAfV1LHnqqafmuN0WW2yRzjzzzFrdZ2wX2wNASyZ0A0ALNKchKaX1tRm6MjfbAkBLIXQDQAvzxRdfpOWXXz5dcMEFVYbgBx98MPXp0yc99thjacstt0yHH354+uqrrypt95///CevL7V8n3HGGfn3119/vdK2McvCYYcdlrbeeuuCnhUANE2mDGskyx9+T5qfvHfNgHq9v2WXXTZ98MEHs1y34IILpu7du6f11lsvHXrooWmnnXZKje2mm25KBx98cDrooIPyz/XhkUceSf/+97/TSy+9lJdPP/00Xx9zuy+99NL18hgANenWrVs6//zz0+mnn55uuOGGdNlll+Xrx48fn/785z+n559/Pp100klp4403ThdddFEaNmxYWnnlldPZZ5+d60d8++236fjjj09XX311GjRoUDriiCPy7X/1q1/lQN+3b998XXRZj+2vvPLKdNppp6W11147DR8+vJGfPQA0LKGbRrXJJpukFVdcMf8cX+LGjh2bW1hiGTp0aLrwwgtTczNw4MD8XAEaS4ThffbZJw0YMCBdf/316cADD8zXH3fccenoo49Ot956a+ratWu+bv31109PPPFEGjlyZDrllFPyycJRo0alPfbYI73yyitplVVWKb/fpZZaKl133XXp17/+dTr11FPTvffeWz6V5h133JG23XbbRnvOANBYhG4a1ZAhQ9LgwYPLf58+fXoO25dffnluXdlvv/3yF77mJL6orrTSSmndddfNS48ePRp7l4AWHL5jBoSKBRnj99atK48+q+12Ia6vOItH3K5NG185AGiZjOmmSYkvZdH1sFOnTvn3ESNGpObmxhtvTCeffHLabrvtcnd6gMZwzz33pNVXXz2f4CwNn7nkkkty6/UKK6yQu5//+OOPacyYMfl4tffee+fhNptttlluEV9iiSXSz372s3TkkUeWD5OJy/g9ru/Zs2febtNNN80nV/fcc898P3F/ANCSCN00OQsttFBuCQ6fffZZpfWPP/54OuaYY/LYwBiX2K5duzwWOrpKjh49usr7jCI/0dISlzHeMMYd9urVK48jj8u4v2+++aZO+/nee+/lQkNxv9E6b55sYH4Rx8EIxNHbKEJ2v3798vVx7I26E3FyMMZhP/PMM/n42Lt37/T222+no446Krdid+7cOQf0OOa++eab5WPCL7300jRu3Lh8/cUXX5y3ixbvOObG7ZdZZpl07LHHNvKzB4CGpa8XTdKkSZPy5eKLL15pXRTniaJj0UITY8KjdTy+5N111115/GCMG4xxilWJ20WX7qjWG7eNVpznnnsud2d/4YUX8s9t27ad4/7961//Srvsskuu5htfNmMMJMD8InrZTJgwodrj3a677pr69++f10c18uq2W2ONNfLc3qUK6L///e+r3TZOksZ4b1OGAdDSCN00OdFqEq3IIYLt7KLL4+abb54WXXTRWa6///7701577ZWntokvi+3bt69022i9iW6OUXE3WshLQXyjjTbKLTN33313Hkc+py6ZBxxwQG7hvu+++6rcR4Cmbk4nGEvra3Micm62BYCWQvdymoyo6B3VcaPQ2IwZM/L0MjHtzOx22223SoG7dH2E7mh9fvLJJ6t8jOiGfsUVV5QH7lDqXl7qul6TCPzxGDHm/Omnnxa4gWYjqoxvscUWc9wuWrZL83LPSWwX2wNAS6alm0YVRXliqSjG/8V0NTH3a3U++eST9PDDD+du5RHWo+p5eP311/PlW2+9lVu7Z7f11lunhRdeuNL1q666ar78+OOPq3y8OAkQYxmvuuqqvG2MeYy5xgEAAGoidNNk5umOwj7PPvtsmjx5cq5+GwV9Nthgg0q3Oeuss9I555xT47jA0pjw2UURn6qUqqXHGO+qxDjxCPYxvVeM+66qpR0AAGB2upfTqKJybkxVE0u0XMf46ijaE8E7pqeZMmXKLNtHobTorhjdw6+55po0fvz49P333+fK4dE1MqbiCvFzVaqbU3ZOYoqc5ZZbLn3++efppJNOUqkcAACoFaGbJiWml7nzzjtT165d0wcffJAuvPDCWdZHhfIQLd2HHXZYbiWP7uJR1CxECC9CtJCPGjUqdy2/4YYb0sCBA8u7tAMAAFRH6KZJTmUTRdRKhcsqzp/99ddf58uYM3Z20Qr92GOPFbZfSy65ZJ6zdp111sknBqLg29SpUwt7PAAAYP4ndNMkRdGyaF2OImkXXHBBpYJn1157bZo2bVr59bHdQQcdlC+LFPPMRmX0GIs+YsSItOOOO+bu7QAAAFURummSYsx2aUqaSy65pLyF+/jjj09dunTJ1cOXX375tOeee6Zdd901t3y/8sor6ZBDDmmQLvD/+Mc/Ur9+/dITTzyRttlmm1la4+fkD3/4Q9pwww3Ll5KYfqx0XZx0AAAA5n9CN03WgQcemFZbbbVcVG348OH5uihmNnbs2DydWEwt9tBDD+Wwvd9+++XrY87thtChQ4f82BH4//nPf+bib1F9vTbefffd9MILL5QvJbH/peveeOONAvceAABoKK3KqivzzCzTT0XrZnRdLk0tVZ2YcmrChAk5HC600EINto+0XP7nAACg6eZELd0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACjIfBW6f/Ob36RWrVrl5eyzz652u8cffzz1798/z6ncvn371KdPn3Tqqaem7777rkH3FwAAgJZtvgndzz//fLrgggty4K7JRRddlOdNfvTRR9Pqq6+edt5551xN7txzz019+/ZNX375ZYPtMwAAAC3bfBG6p0yZkgYPHpx69uyZ50WuTsxzfOKJJ+b5mx9++OH09NNPp7vuuivPi7z11lunt956Kx1xxBENuu8AAAC0XPNF6D755JPT+PHj07XXXpvnQavOeeedl2La8YMPPjjtsMMO5dcvvPDC6YYbbkitW7dO99xzTxo3blwD7TkAAAAtWZMP3U899VS67LLL0oEHHpjHaVdn2rRpuXU7DBw4sNL63r17p0022ST/fN999xW4xwAAADAfhO4ofHbIIYekxRdfPF188cU1bvv222/nbughxm5XpXR9dEMHAACAorVJTdivf/3rNGHChNwyveiii9a4bWwXunTpkjp27FjlNr169ZplWwAAAGiRoXvkyJHpmmuuSfvuu2/abbfd5rj95MmT82WHDh2q3WaRRRbJl5MmTarxvqZOnZqXkjltD0X56aef8v9fu3btqq3cH/+rMbzi9ddfn2N1fwCA5uaHH35I77//ftpuu+3ylMHQ1DTJ0B1TfP3yl79M3bt3z+O5G1oUZDvrrLMa/HFhdhG4a9MzI6bCi8r8H3zwQYPsFwBAU3PrrbemQYMGNfZuwPwRuo8//vj00UcfpTvvvLPWZ6tKXcq///77GseIh06dOs2xWvoJJ5wwS/ApdU2HhhQt3GG55ZZLCy20ULUt3W3bts2V+bV0AwAtzZtvvpn233//tOyyyzb2rsD8E7pjDHebNm3SlVdemZeKStN9xRRgjz/+eFpiiSXSHXfcUf4m++abb3JX86rGdU+cODFfzukNGUGnFHYoRvwNZm+VXXDBBXPvhvXWWy8deuihaaeddkqN7aabbspT0B100EH553n1+eefp0cffTQvo0ePzv+TMZXdMsssk7bddtt8sqfi/2cpREfgrm7oRMxLH6/dKqusUm0wBwBo7tq3b9/YuwDzT+gO06dPT08//XS162PcRiwxFViIwBHzcUcF8xdffDFtueWWlW4T14d11103NbaZ7/wrzU9ar7hhIfcb07ituOKK5cMKorL8gw8+mJehQ4emCy+8MDUnEapvu+22HLTXWGONtMsuu+TeGRHAYyjFjTfemE86bbPNNo29qwAAQHOdMixaq8vKyqpcosUx/OEPf8i/R/AO0dK344475p9vv/32SvcZrarPP/98/nn33Xdv0OdD9YYMGZJbkGOJsPnOO++ko48+Oq+76KKLchhtTrp27ZrrBXz44YfplVdeSXfddVeeX/69997LRQMjgMfl//73v8beVQAAoLmG7rk1bNiw3B33L3/5S+6+WxKt31GYbcaMGWnAgAGpT58+jbqfVC+GFQwfPrx83P2IESNSc3LppZem3/3ud2mppZaqVFk/hkzEsIivv/46B3EAAGD+16xCd3Qbv+CCC3K47t+/f+5ivs8+++Tuy0888UTugn711Vc39m4yBzEueaWVVso/f/bZZ5XWx1j+Y445Jq299tq50F6Mv1966aXz37q6lvEzzzwzn5CJyy+++CL96le/ysXxoodEXMb9RQ+LuojW6TiBE/cbXeFnzpyZ5kUMj4j/0Yr1BwAAgPlbswrdIcLPY489lufpe/XVV9MDDzyQWxGjInkEMnP3zR9Kc6MvvvjildbF1FjXXnttHhcdY8Kj4Frnzp1zV+2NN944V/GuToTZODkT22ywwQZ57HQU3rv88stzIbOYF7s2/vWvf6UNN9wwjR8/Po/Fjq7wsT/zIh67NFyiZ8+e83RfAABA09BkC6lVpzT+tyb9+vXLC/PvtA/Rihyi0Njszj///LT55punRRdddJbr77///rTXXnulww8/PPd0qKqCZRQqGzx4cO7xUKpQH0F8o402yidl7r777rTffvvVuH8R2A844IDcwh3j0Kvax7kR3ctjvu3Y7x122KFe7hMAAGhcza6lm/lXVC8fOXJk2mOPPfIQgdNOOy317du30na77bZbpcBduj5C91dffZWefPLJKh8juqFfccUVs0wJV+peXuq6XpMI/PEYMeY8quvXV+B+7bXX0kknnZR/Pv3006ts4QcAAOY/811LN81LzIEdy+zzTt96661p0KBB1d7uk08+ycXGYt72COsxxVx4/fXX8+Vbb72VW7tnt/XWW+ex07NbddVV8+XHH39c5ePFSYCjjjoqXXXVVXnbRx55ZI7zvdfWRx99lHbeeef03Xff5RAfBQEBAIDmQeimUVWcpzsKnD377LN5jPWRRx6Zi6nFuOvZxZRb55xzTo3jr0tjwme3zDLLVHl9qVr6jz/+WOX6O+64Iwf7Hj16pOeee67Klva58d///jefCIgp7aIOQYxLj27rAABA86B7OU1mnu5ouY7x1VF1PoL33nvvnad7q+jee+/NFcije/g111yTC5nF3NZROTzmbY+CeSF+rsrcFjvbbLPN0nLLLZc+//zz3A18XiuVh7ivrbbaKr399tu5BkGMSa/Y7R0AAJj/Cd00KVGF/M4770xdu3bNrb8XXnjhLOujJThES/dhhx2WW8mju3ipdThCeBGihXzUqFG5a3kUPBs4cGB5l/a5Ea36EbijaFy0dD/44IN5qrTZxXXxmFWtAwAg5SlcX3rppXwJTZHQTZPTvXv3XEStVLis4vzZX3/9db7s3bt3lS3HMV1cUZZccsn0zDPPpHXWWSefGIiCb1OnTq3z/USF8gjcMf48AveIESOqrLReGt/eoUOHfAkAQGXRABNTwlZVtweaAqGbJimKlkXrchRJu+CCCyoVPIt5uqdNm1Z+fWx30EEH5csixTzvURk9xqJHWN5xxx1z9/baipMGEbT/85//5C7lNQVuAABg/qeQGk1SjG2OsduHHHJIuuSSS9LQoUNzl/Pjjz8+3XLLLbl6+PLLL5823HDDXFAtpu+Ks5uxfczFXXQX+H/84x95irKYYmybbbbJ+9OlS5dajWF/9dVXc3f4eD5RMK4qcd+xAAAA8zct3TRZBx54YFpttdVyUbXhw4fn66KY2dixY/N0YtHl+qGHHkqvvPJK2m+//fL1Med2Q4gu3/HYu+66a/rnP/+Zi7/FOO05KXWPj0JvMT795ptvrnJ5+eWXG+BZAED9ixPLTz311By322KLLfIJ9tqI7WJ7gPlRq7Lqyjwzy/RT0boZXZdLU0tVJ6acmjBhQg6Hil/REPzPAdCYosdZ27ZtZwndMRSrFJJL62ffLtbPHryr2za2iSBfMczPvg1AU82JWroBAJgr0csrhntF/ZUIwbOL2TmionQUOo1eYYcffnj66quvKm0XtU5ifSmAn3HGGfn3KDpaVUHSmMEkaqQAzA+EbgAA5rrAaMw0cs0116S11lorPfHEE+VTePbv3z8PFYt6KxtvvHG66KKL0jvvvJNWXnnldNVVV6WZM2fm1qGo19K3b98c3o844oh8+1/96ld5WtC4Puq6RGtSbH/llVfm28f9lIaeATR1upfXgu7lNGX+5wBobNOnT0/XX399+sMf/pA++eSTPDPH0UcfnYYNG5YLh1Y0cuTIdMopp+R5laMrekzBec4556RVVlml0v2+9dZb6dRTT0333ntvroey3nrrpXPPPTdtu+22DfjsAKqmezkAAA0iwnMUOI3Lkvi9devKXzVru12I62N9xcdp08bkO8D8RegGAGCu3XPPPWn11VfP3cdvuummfF1M9xmzi6ywwgq5+3n0yhozZkzabrvt0t57750OPvjgtNlmm6XjjjsuLbHEEulnP/tZnkbz008/zbePy/g9ru/Zs2febtNNN02DBw9Oe+65Z76fuD+A+YHQDQDAXBdSi0A8ZMiQHLL79euXr19ppZXSI488km688cY8DvuZZ55JxxxzTOrdu3d6++2301FHHZVbsaNbZgT00aNHpzfffDNddtll+faXXnppGjduXL7+4osvzttFi3eM9Y7bL7PMMunYY49t5GcPUDv65wAAMFe6d++e64pUN3XXrrvumguqxfqoRl7ddmussUaeDqxUAf33v/99tdtG8bbrrruuymrpAE2Rlm4AAObanObKLq2vzZzac7MtQFOnpRsAgHpT24lxomW7tkrzdwPMj7R0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToplEsu+yyqVWrVrMs7dq1S0svvXSe0/Ohhx5KTcFNN92U923w4MH1cn+TJk1Kp59+etpxxx3TCiuskDp37pwWXHDBtOSSS+bn/fDDD9fL4wAAAE2DKcMayYiea6T5yc6f/qeQ+91kk03SiiuumH/+9ttv09ixY9ODDz6Yl6FDh6YLL7wwNSeff/55Ovvss9MiiyyS1lhjjbTWWmul1q1bp3feeaf8eR911FHpiiuuaOxdBQAA6oHQTaMaMmTILK3I06dPz2H78ssvTxdddFHab7/90vrrr5+aiyWWWCL985//TH379k1t2sz69nvyySfTTjvtlK688sq0yy67pO22267R9hMAAKgfupfTpEQQHT58eOrUqVP+fcSIEak5iRbuDTfcsFLgDltuuWXad999888jR45shL0DAADqm9BNk7PQQgullVZaKf/82WefVVr/+OOPp2OOOSatvfbaqVu3buVjwffZZ580evToKu/zzDPPzGOz4/KLL75Iv/rVr1KvXr3yeOq4jPv75ptv6rSf7733XurTp0++32idnzlzZppXpTAezwkAAJj/6V5OkxQFx8Liiy9ead0RRxyRJk6cmFZfffU8JjyC6rhx49Jdd92V7r333nTHHXekAQMGVHm/cbt11103/fTTT/m2P/74Y3ruuedyd/YXXngh/9y2bds57t+//vWv3AX8q6++Spdddlk6+uij5/k5xwmDO++8M4f4nXfeeZ7vDwAAaHxCN03Om2++mVuRQwTb2Z1//vlp8803T4suuugs199///1pr732Socffnjq379/at++faXb3njjjXkM+dVXX13emhxBfKONNsqh9+67787jyGtyzz33pAMOOCCH4/vuu6/KfayN3/3ud+nDDz9MP/zwQ5owYUJ+/Gh5v/TSS/P+AAAA8z/dy2kyonp5jGXeY4890owZM9Jpp52WC47NbrfddqsUuEvXR+iO1ucoSlaV6IYelcErdt8udS8vdV2vSQT+eIwYc/7000/PdeAOUan85ptvzi30EbhjvHe0uB955JFzfZ8AAEDToqWbRnXwwQfnpaIFFlgg3XrrrWnQoEHV3u6TTz7Jc1pHt/II61H1PLz++uv58q233sqt3bPbeuut08ILL1zp+lVXXTVffvzxx1U+XpwEiKm8rrrqqrztI488kucanxcvv/xyeVf62N+LL744HXbYYbl7fLTad+zYcZ7uHwAAaHxCN42q4jzdUeDs2WefTZMnT86tvVFMbYMNNqh0m7POOiudc845eVz2nMaEz26ZZZap8vpStfQY412VCMIR7Hv06JHHfVfV0j634rFjWrTbbrstdenSJU8ZFs8xWtUBAID5m+7lNPo83TfddFNeouU6xlfH1FkRvPfee+80ZcqUWbaPQmlRgTy6h19zzTVp/Pjx6fvvv8+Vw8vKytLJJ5+ct4ufq9K69dz9y2+22WZpueWWS59//nk66aST6qVSeVVKrf4xVhwAAJj/Cd00KZ07d84VvLt27Zo++OCDdOGFF86yPsY/h2jpjq7Y0Uoe3cWjqFmIEF6EaCEfNWpU7lp+ww03pIEDB5Z3aa9PHTp0yJcR7gEAgPmf0E2T071791xELUQX64rzZ3/99df5snfv3pVuF0H1scceK2y/llxyyfTMM8+kddZZJ58YiIJvU6dOrdfHeOKJJ/LlyiuvXK/3CwAANA6hmyYpipZF63IUSbvgggsqFTy79tpr07Rp08qvj+0OOuigfFmkbt265croMRZ9xIgRaccdd8zd22vr9ttvTy+99FKl66M7fHSdL51siFZ8AABg/id00yTFmO0Yux0uueSS8hbu448/Phcbi+rhyy+/fNpzzz3Trrvumlu+X3nllXTIIYc0SBf4f/zjH6lfv365ZXqbbbaZpTW+JjElWkyDFtOURWCPCu3bb799Hi8+YMCAfNLgV7/6ldANAADNhOrlNFkHHnhg7l7+xhtvpOHDh6fzzjsvh9OxY8fmFuGodP7QQw+lJZZYIu233345pMeUXg0hxl7HY++zzz7pgQceyMXfIlBH1/iaHHrooTm0P//882nMmDF5TvG2bdvm+cOjpT4Ky2266aYN8hwA5saXX36ZTzzGtInt27dv7N0BSD/88EN6//3303bbbZd7JUJT06qsujLPzDL9VASlaIUsTS1VnZhyasKECTkcLrTQQg22j7Rc/ueAhhTTG+6///6NvRsAldx66625FyE0tZyopRsAqLVo4S59uS3V2QBoTG+++WY+GVg6PkFTI3QDALVW6lIegXvddddt7N0BKGfIC02VQmoAAABQEKEbAAAAWlrojkItUb16rbXWSj169MgVnmOQ+gYbbJCrWH/33XeVbhPVq1u1alXjMm7cuEZ5PgAAALQ8TXZMd0z9FNMqlcaMde3aNX322Wfpn//8Zxo9enS68cYb09NPP52WXHLJSreNoL722mtXeb8R3AEAAKBFh+4LLrggrbTSSjlsVxTzGu+2225p1KhR6cQTT0x/+9vfKt021kerNwAAADSmJtu9/Oc//3mlwB0WW2yxdO655+afR44c2Qh7BgAAAPN56K5Jmzb/r4G+Xbt2qakqKytr7F2ghfC/BgAATVeT7V5encmTJ5d3Hd9ll12q3GbMmDFp2LBh6euvv85juNdZZ5208847p44dOxa+fwsssEC+/Omnn8wVSIOYOnXqLCejAACApqPJf0uPLuS33357mjlzZnkhtQje22+/ffrTn/5U5W1GjBiRl4oifF966aW5InqRosp6tMB/++23OeRHxXQoyowZM/LJpQ4dOgjdAADQBDX5b+lvvPFGuvnmm2e5buDAgenCCy+sVIl8hRVWyOO9d9hhh9S7d+/y2//xj39MDz30UDrooINyS/SgQYPm2HJYaj0MkyZNqtM+d+vWLX388cfpo48+yvsYQVz4pj67k0fY/uGHH/LJnTgh1bNnz8beLQAAoAqtyuaTAaHRXfvDDz9MDzzwQDr77LNziL3vvvvSL37xi1rd/thjj02XXXZZ6t69ew7DCy64YLXbRvf1s846q9L1EXA6depUq8eLoP7ll1/OEt6hPsUJpIUXXjjPY1/T/zNAfYohXOutt1566aWX8pSeAI3NcYnGEpkvGlnnlBPnm9Bd0QsvvJA22mijtPTSS6e33nqrVmOnowtuhJNoIXzmmWfSZpttVqeW7l69etUpdFc8WRCPCfWpdevWelAAjWLKlClp3LhxqU+fPvnEH0Bjc1yiqYfuJt+9vLrpxFZbbbX0+uuvpxdffLHGAF0S049F6P70009zS3dNYkx2fVVGj2AUCwA0B/GFVksS0JQ4LtHUzZdThoUoHBU+//zzWm0frc1xBiI0RBVzAAAAmC9Dd4yVfuWVV/LPK6+8cq1u8+CDD+auJ9Edt2/fvgXvIUDTE8e/p556qrF3AwCgRWmSoTsqjt92223pxx9/rLTu7bffTnvttVcec73hhhumNddcM18fRdZuvfXWKm9z//33pyFDhuSfo3L5Ekss0QDPAqBxRU2JeVkPAEAzDd3RZXz//ffPU2/FeO399tsvDRgwIK2//vpp1VVXzS01cXnnnXfOUijtgAMOyNXJo6J53Ga33XbLLeG77757Xr/lllumq666qlGfG0BD+OKLL9Lyyy+fLrjggirDdfT+iYIzjz32WKPsHwBAS9Ekq5fHl8XrrrsuPfvss7kSYfweXxqjGFq0bO+xxx7p4IMPnqXY2VdffZWGDx+eRo8end555538+7Rp03JwjykEYm7vffbZJ1d9LqoqHUBTEYf2u+66K51++umpTZs2ecrEfv36pWuvvTZPt/j888+nk046KR1//PHlNTIAAKi9Zj1lWEMTuoH51fTp09P111+f/vCHP6RPPvkkT7F49NFHp2HDhuUTmQAAFJsTm2T3cgDqr3jaAgssMMuc7vH73PT6AQCg7nzrAmim7rnnnrT66quniy66KN100035uksuuSTP/rDCCiuk888/v8rikwAA1B+hG6AZiloYxx13XJ65IUJ2jOcOK620UnrkkUfSjTfemK688sr0zDPPNPauAgA0a20aewcAqH8xk8OECRNS27Ztq1y/6667pv79+1e7HgCA+qGlG6CZmlOgFrgBAIqnpRughTBZBQBAw9PSDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0KeqOgXn35Zdfpn/84x9p2WWXTe3bt2/s3QFIP/zwQ3r//ffTdtttl7p169bYuwMATZ7QDU1YBO7999+/sXcDoJJbb701DRo0qLF3AwCaPKEbmrBo4S59uV111VUbe3cA0ptvvplPBpaOTwBAzYRuaMJKXcojcK+77rqNvTsA5Qx5AYDaUUgNAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDU1Ynz590ksvvZQvAZoCxyUAqJtWZWVlZXW8TYszadKk1Llz5/Ttt9+mTp06NfbuAAAAMJ/kRC3dAAAAUJAmG7pvu+22dOCBB6a11lor9ejRI7Vt2zafRdhggw3Seeedl7777rtqb/v444+n/v37p27duqX27dvnLnCnnnpqjbcBAACAFtO9fNNNN03PP/98WnXVVVOvXr1S165d02effZb++c9/ph9++CGtuOKK6emnn05LLrnkLLe76KKL0gknnJBatWqVNttss7T44ounZ599Nv33v/9Nq6yySho1alQO43WhezkAAABzkxObbOh+4YUX0korrZTDdkVfffVV2m233XJ43nfffdPf/va38nVjx45N6623XmrdunUaMWJE2mGHHfL1U6ZMSbvsskt64okn0oABA9Ldd99dp30RugEAAGhWobsm0XL9i1/8IgfyCOEle++9d/r73/+ehgwZkq677rpZbvPBBx+k5ZdfPs2cOTO9+eabdaq6KnQDAADQYgqptWnTJl+2a9eu/Lpp06alhx9+OP88cODASrfp3bt32mSTTfLP9913X4PtKwAAAC3XfBe6J0+enM4888z8c3QZL3n77bdzN/LQt2/fKm9buj66oQMAAEDR/l+TcRM2cuTIdPvtt+du4aVCahG8t99++/SnP/2pfLsJEybkyy5duqSOHTtWeV9RkK3itgAAANCiQ/cbb7yRbr755lmui+7jF154Ye4/XxJBPHTo0KHa+1pkkUXK+97XZOrUqXkpmdP2AAAAMF+G7uOPPz4vP/30U/rwww/TAw88kM4+++z06KOP5rHZUVCtvsU84GeddVaa34zouUZj7wJQCzt/+p/UUjguwfyjpRybZr7zr8beBaCWWq+4YWoO5psx3W3btk0rrLBCnoP7//7v/9L//ve/tP/+++c5u0OpS/n3339f7X189913+XJOFchPPvnkXIGutEycOLFenwsAAAAtw3wTuiv6+c9/nlZbbbUchl988cV83bLLLpsvv/nmm/Ku5rMrhefSttWJqugRzCsuAAAA0CJCd8Wx259//nm+XGWVVdLCCy+cfy4F8dmVrl933XUbbD8BAABouebL0P3ll1+mV155Jf+88sor58sFF1ww7bjjjvnnqHY+uw8++CA9//zz+efdd9+9QfcXAACAlql1U61Yftttt6Uff/yx0rqYj3uvvfbK1cU33HDDtOaaa5avGzZsWGrVqlX6y1/+kgutlcT83b/85S/TjBkz0oABA1KfPn0a7LkAAADQcjXJ6uXRZTyKpB1++OFpnXXWSUsvvXSaNm1arl4+ZsyYPGf3qquumu68885Zbhfdxi+44IJcbK1///5p8803Tz169EjPPvts+vTTT3MX9KuvvrrRnhcAAAAtS5MM3auvvno655xzclgeN25cGjt2bJ4yrGvXrmnrrbdOe+yxRzr44INzwbPZDR06NLd+R/j+97//nauZL7PMMrkieSylKucAAADQIkN39+7d0ymnnDLXt+/Xr19eAAAAoDE1yTHdAAAA0BwI3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABSkTVF3DAAATc2Kwz9u7F0Aaum9a1KzoKUbAAAACiJ0AwAAQEGEbgAAAGhJofunn35KTzzxRDrppJPS+uuvn7p06ZLatm2bllhiibTLLrukhx9+uMrbnXnmmalVq1Y1LuPGjWvw5wMAAEDL1CQLqT399NNpm222yT9H0N50001Thw4d0htvvJFGjBiRl8MOOyxdffXVOUjPbq211kprr712lffduXPnwvcfAAAAmmzobt26dRowYEA67rjj0mabbTbLujvvvDMNGjQoXXvttWmTTTZJBx54YKXb77bbbrnVGwAAABpTk+xevtVWW6W77767UuAO++yzTxo8eHD++ZZbbmmEvQMAAID5OHTPyTrrrJMvJ06c2Ni7AgAAAPNX9/I5GT9+fL7s2bNnlevHjBmThg0blr7++us8hjtC+s4775w6duzYwHsKAABASzbfhe7//ve/6aabbso/x7jvqpSKrVUU4fvSSy+tcgw4AAAApJbevXz69Olp//33T99++21ac8010+GHHz7L+hVWWCGde+65aezYsbmVO5ZRo0alnXbaKd/moIMOSrfddtscH2fq1Klp0qRJsywAAADQrEP3EUcckefvXmyxxXKhtQUXXHCW9QcccEA6+eST83Rhiy66aF6iwnm0eh9zzDF5m6FDh6Zp06bV+DjnnXdebhkvLb169Sr0eQEAANA8zTehO6YPu+GGG3KQfuyxx9LKK69cp9vHFGILLLBA+uKLL9ILL7xQ47YR3KNlvLQo2AYAAECzHdN94okn5vHYXbp0SSNHjiyvXl4XXbt2TT169Eiffvpp+uijj2rctl27dnkBAACAZt3S/Zvf/CZdeOGFuZt3BO6+ffvO1f3MmDEjt1oHVcwBAABILT10x7Rfw4cPz4E7upSvv/76c31fDz74YJoyZUpq1arVXAd3AAAAaBah+7TTTkt/+tOfcpfy2gTuDz/8MN16663pxx9/rLTu/vvvT0OGDMk/Dxo0KC2xxBKF7TcAAAA06THd0Sp9zjnn5J9XXHHFdMUVV1S5Xbdu3dL555+ff47pwaJ6+ZFHHpnHfC+11FLphx9+SG+88UYaP3583mbLLbdMV111VQM+EwAAAFqyuQ7dhxxySNp0003zZU1uuumm9Mwzz6Qbb7yx1vcdAbrkxRdfzEtVevfuXR66Y1qv3/72t2n06NHpnXfeSWPGjMlTg0Uwj3m6Bw4cmPbZZ5/UunWTbdwHAACgmZnr0B1hOswpdD/33HPp5ptvrlPoHjx4cF7qIubu/uMf/1in2wAAAECRCm/2jarhWpcBAABoiQpPwzGeOqqPAwAAQEtTp+7lv//972f5/eWXX650Xcn06dPT66+/np5//vnUr1+/edtLAAAAaO6h+8wzz8zzXJeVlZWH7lhq0qFDh/S73/1u3vYSAAAAmnvojvBcCt3Rwr322munXXfdtcptF1xwwbT00kun7bbbLvXo0aO+9heA+ciOz17f2LsAADB/tXSXlEL3GWecUcR+AQAAQMudMmzmzJn1uycAAADQzJjLCwAAAJpaS3fJJ598kp588sn08ccfpx9//LHKbWIc+Omnnz6vDwUAAAAtJ3SfcMIJ6fLLL08zZszIv5eqmpeUiq4J3QAAALREcx26L7zwwnTxxRfnQB0VylddddXUqVOn+t07AAAAaImh+4Ybbkht2rRJI0eOTFtssUX97hUAAAC05EJq7777btp0000FbgAAAKjv0N2xY8fUs2fPub05AAAANHtzHbo322yz9Morr9Tv3gAAAEAzMteh+3e/+11655130vXXX1+/ewQAAAAtvZDapEmT8pRhhx9+eC6mttNOO6VlllkmtW5ddY7/xS9+MS/7CQAAAC0ndEcBtdI83Pfcc09eqhPbTZ8+fW4fCgAAAFpW6I6W6wjTAAAAQD2H7qeeempubwoAAAAtwlwXUgMAAABqJnQDAABAU+te/swzz9Rpe9XLAQAAaGnmuXp5baheDgAAQEtU79XLZ86cmT744IM0ceLE/PtGG22U2rZtO297CQAAAPOhwqqXv/rqq2nw4MGpQ4cO6ZFHHpnbhwEAAID5VmGF1H72s5+le++9N40aNSoNHz68qIcBAACAllm9fNlll03rr79+uuWWW4p8GAAAAGiZU4Z17949vf/++0U/DAAAALSs0D1t2rQ0evTotPDCCxf5MAAAANByQvf333+fXnzxxTRgwIBcxXzLLbcs4mEAAACgeVYvX2CBBea4TVlZWerSpUs6++yz5/ZhAAAAoOW1dEegrm5p06ZN6t27dxoyZEgaM2ZMWmWVVep3rwEAAKA5t3TPnDmzfvcEAAAAmpnCq5cDAABASyV0AwAAQFPrXl7y1Vdfpeuuuy49+eST6eOPP87XLbXUUmmrrbbKY7oXW2yx+thPAAAAaFmhe+TIkWm//fZL33zzTS6gVvLGG2+kxx9/PA0fPjzdfvvtadttt62PfQUAAICWEbrHjx+f9thjjzRlypT0s5/9LB188MFphRVWyOvee++9dNNNN6WXX345bzN27Ni00kor1ed+AwAAQPMN3X/84x9z4D7zzDPT7373u0rrjz322PSHP/whnXHGGelPf/pTuv766+d1XwEAAKBlFFJ74okn8vzbVQXuktNPPz1vE13NAQAAoKWZ69D93//+N6277rpz3C62iW0BAACgpZnr0N2hQ4f0+eefz3G72Ca2BQAAgJZmrkP32muvnZ555pn02muvVbvNq6++mp5++um8LQAAALQ0cx26Dz300PTTTz+lfv36pSuvvDJ999135evi58svvzxts802acaMGemwww6rr/0FAACA5h+6991333TAAQekL774Ih1zzDGpc+fOqUePHnmJn4877ri8LrbZZ5996nTfEeajUNtJJ52U1l9//dSlS5fUtm3btMQSS6RddtklPfzwwzXePgq39e/fP3Xr1i21b98+9enTJ5166qmznBgAAACAJhu6w80335xbuZdbbrlUVlaWvvzyy7zEz8svv3y66qqr8nzddRVd0qMF/fzzz08fffRR2nTTTfN83927d08jRoxIO+20Uzr88MPz48zuoosuyi3sjz76aFp99dXTzjvvnL799tt07rnnpr59++b9AwAAgCY9T3fJEUcckZePP/44L2GppZbKy9xq3bp1GjBgQG4t32yzzWZZd+edd6ZBgwala6+9Nm2yySbpwAMPLF83duzYdOKJJ6YFFlggh/MddtghXx/ziUcLebSex77efffdc71vAAAAUEhL9+jRo9ODDz6Yxo8fX2ldhOwNNtggL/FzbBPbvvjii6muttpqqxyMZw/cIbqqDx48OP98yy23zLLuvPPOy63fBx98cHngDgsvvHC64YYbcpi/55570rhx4+q8TwAAAFBY6I5u2VtvvXU68sgj8xjrOYltjjrqqLTtttumb775JtWnddZZJ19OnDix/Lpp06aVj/UeOHBgpdv07t07t4yH++67r173BwAAAOYpdN966625ENlZZ52Vx1bPSWzz+9//PgfuuG19KrW09+zZs/y6t99+O3cjDzF2uyql66MbOgAAADSZ0P3II4+kDh06pIMOOqjWdx6VyxdZZJH00EMPpfry3//+t7w4W4z7LpkwYUJ5C3vHjh2rvG2vXr1m2RYAAACaRCG1//znP+nnP/95nrqrtmLbGOP92muvpfowffr0tP/+++dq5GuuuWauYF4yefLkfBknBqoTJwDCpEmTanycqVOn5qVkTtsDAADAPLV0f/3113me7LpafPHF01dffZXqQ1Qejwrkiy22WC60tuCCC6YiREG2mGu8tJRayAEAAKCQ0N2uXbv0/fffp7qKcdZx23kV04dFBfJFF100PfbYY2nllVeeZX2pS3lN+xhj0kOnTp1qfKyTTz45t6aXlooF2wAAAKDeu5dHK/err76a6ipuMzct5BXF3NuXXnppHq89cuTI8urlFS277LL5Mgq3RVfzqsZ1l8JzadvqxEmC+jhRAAAAQMtW65bujTfeOL3//vvp+eefr/WdP/fcc7loWdx2bv3mN79JF154Ye7mHYG7usrkq6yySp6PO1Q3N3jp+nXXXXeu9wcAAADqPXQPGjQolZWVpcMOOyx3uZ6TaHGObVu1apX222+/NDeGDRuWhg8fngN3dClff/31q902xnfvuOOO+efbb7+90voPPvig/ITB7rvvPlf7AwAAAIWE7n79+qWtt946vfHGG2m99dZLDz74YA7hs4vrHnjggdwiPW7cuLTFFlukbbfdNtXVaaedlv70pz/lLuVzCtwVQ3qE/L/85S/p0UcfnWVc+S9/+cs0Y8aMPM1Ynz596rw/AAAAUNiY7nDHHXekTTbZJL399tu5tTgCcXTV7tGjR17/+eefpzFjxuRW7gjfK664YrrzzjvrvFMR6M8555z8c9zHFVdcUeV23bp1S+eff37577EvF1xwQTrhhBNS//790+abb5737dlnn02ffvpp7oJ+9dVX13l/AAAAoPDQHVN1/fvf/05HH310+tvf/pb+97//5Sm8onU5lFq+W7dunQYOHJguu+yyHMzrKqYnqzgOu7ox2r17954ldIehQ4fmObwjfMe+RjXzZZZZJlckj6WqAmsAAABQhFZlVfURr4UokPbQQw/lQPzFF1/k67p37567nu+0005p+eWXT83FpEmT8rjyGMs+p+nGGtOInms09i4AtbDzp/9JLcXMd/7V2LsA1FLrFTdMLcHyh9/T2LsA1NJ71wxIzSEn1qmlu6LlllsuHXPMMXN7cwAAAGj2al1IDQAAAKgboRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEsL3W+99Va67LLL0uDBg9Oaa66Z2rRpk1q1apXOPvvsam9z5pln5m1qWsaNG9egzwMAAICWq01qoq666qp0ySWXzNVt11prrbT22mtXua5z587zuGcAAAAwn4fuNdZYI/36179O66yzTlp33XXTueeem/7617/W6ra77bZbbvUGAACAxtRkQ/eQIUNm+b116ybbEx4AAACqJMkCAABAS2vpnhdjxoxJw4YNS19//XUewx1d1HfeeefUsWPHxt41AAAAWpBmGbpHjBiRl4oifF966aXpwAMPbLT9AgAAoGVpVt3LV1hhhVxwbezYsbmVO5ZRo0alnXbaKX377bfpoIMOSrfddtsc72fq1Klp0qRJsywAAADQokP3AQcckE4++eQ8Xdiiiy6al0022SS3eh9zzDF5m6FDh6Zp06bVeD/nnXdebhkvLb169WqgZwAAAEBz0qxCd01iCrEFFlggffHFF+mFF16ocdsI7tEyXlomTpzYYPsJAABA89Esx3RXpWvXrqlHjx7p008/TR999FGN27Zr1y4vAAAAMC9aTEv3jBkzcqt1UMUcAACAhtBiQveDDz6YpkyZklq1apX69u3b2LsDAABAC9BsQveHH36Ybr311vTjjz9WWnf//fenIUOG5J8HDRqUllhiiUbYQwAAAFqaJjume8yYMemoo44q//3dd9/Nl9dcc0166KGHyq+/7777Us+ePfP0YFG9/Mgjj0zrrLNOWmqppdIPP/yQ3njjjTR+/Pi87ZZbbpmuuuqqRng2AAAAtERNNnTH3NhVVRmPImgVC6HFnNohpvX67W9/m0aPHp3eeeedHNpjarBu3brleboHDhyY9tlnn9S6dbNp3AcAAKCJa7Khe4sttkhlZWW13n6xxRZLf/zjHwvdJwAAAKgLzb4AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAABoaaH7rbfeSpdddlkaPHhwWnPNNVObNm1Sq1at0tlnnz3H2z7++OOpf//+qVu3bql9+/apT58+6dRTT03fffddg+w7AAAAhDZN9WW46qqr0iWXXFLn21100UXphBNOyAF9s802S4svvnh69tln07nnnpvuueeeNGrUqBzGAQAAoMW2dK+xxhrp17/+dbrtttvSm2++mQ444IA53mbs2LHpxBNPTAsssEB6+OGH09NPP53uuuuu9O6776att946t54fccQRDbL/AAAA0GRbuocMGTLL761bz/n8wHnnnZfKysrSwQcfnHbYYYfy6xdeeOF0ww03pOWXXz63do8bNy53OQcAAIAW2dJdV9OmTcut22HgwIGV1vfu3Tttsskm+ef77ruvwfcPAACAlqfZhO633347TZkyJf/ct2/fKrcpXR/d0AEAAKBozSZ0T5gwIV926dIldezYscptevXqNcu2AAAA0CLHdNfV5MmT82WHDh2q3WaRRRbJl5MmTarxvqZOnZqXkjltDwAAAM26pbs+RUG2zp07ly+lFnIAAABokaG71KX8+++/r3ab7777Ll926tSpxvs6+eST07ffflu+TJw4sZ73FgAAgJag2XQvX3bZZfPlN998k7uaVzWuuxSeS9tWp127dnkBAACAedFsWrpXWWWVPB93ePHFF6vcpnT9uuuu26D7BgAAQMvUbEL3ggsumHbcccf88+23315p/QcffJCef/75/PPuu+/e4PsHAABAy9NsQncYNmxYatWqVfrLX/6SHn300fLrY/7uX/7yl2nGjBlpwIABqU+fPo26nwAAALQMTXZM95gxY9JRRx1V/vu7776bL6+55pr00EMPlV9/3333pZ49e5Z3G7/gggvSCSeckPr3758233zz1KNHj/Tss8+mTz/9NHdBv/rqqxvh2QAAANASNdnQHXNjv/DCC5Wu/+ijj/JSUnE+7TB06NC05ppr5vD973//O1czX2aZZXJF8liqKrAGAAAALSp0b7HFFqmsrGyubtuvX7+8AAAAQGNqVmO6AQAAoCkRugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFaVPUHdPwdnz2+sbeBQAAACrQ0g0AAAAFEboBAACgIEI3AAAAFKTZhe7BgwenVq1a1bj8+OOPjb2bAAAAtADNtpDaJptsklZcccUq1y2wwAINvj8AAAC0PM02dA8ZMiS3egMAAEBjaXbdywEAAKCpELoBAACgIM22e/mTTz6ZXnvttTR58uS02GKLpQ022CD1798/tWvXrrF3DQAAgBai2YbuW265pdJ1PXv2TDfeeGPafvvtG2WfAAAAaFmaXffytdZaK11yySXpP//5T5o0aVL67LPP0siRI9PGG2+cPv3007TLLrukp556qsb7mDp1ar5txQUAAABSSw/dQ4cOTccee2xaffXVU8eOHVOPHj3SNttsk0aNGpV23XXX9NNPP6Xjjz++xvs477zzUufOncuXXr16Ndj+AwAA0Hw0u9BdnVatWqWzzjor//zKK6+kiRMnVrvtySefnL799tvypaZtAQAAoMWN6a7KqquuWv7zRx99VG0LdhRbU3ANAACAedViWrrDV199Vf5zdD0HAACAIrWo0H3HHXfky06dOqVVVlmlsXcHAACAZq5Zhe6XX345Pfjgg2n69OmzXD9z5sx0ww03pFNOOSX/HoXW2rZt20h7CQAAQEvRrMZ0v//++2n33XdPiy66aFp33XXT4osvnr755ps8fdiHH36Yt9lvv/3SGWec0di7CgAAQAvQprnN0R3Tgb344otp3Lhx6bnnnktlZWU5fO+5557p4IMPTv3792/s3QQAAKCFaFahe7nllksXXXRRY+8GAAAANL8x3QAAANCUCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEHaFHXHNLwVh3/c2LsA1MJ716QWw3EJ5h8t6dgE0JC0dAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQZhu6//73v6ctttgiLbrooqlDhw5prbXWSn/+85/TTz/91Ni7BgAAQAvRLEP38ccfn/bee+/03HPPpQ022CBtv/326cMPP0y//e1v01ZbbZV++OGHxt5FAAAAWoBmF7rvv//+dMkll6RFFlkkvfDCC+kf//hHuueee9L48ePTmmuumUaNGpVOP/30xt5NAAAAWoBmF7rPPffcfDls2LC07rrrll/frVu3dOWVV+afL7/88vTtt9822j4CAADQMjSr0P3xxx+n0aNH558HDhxYaf2mm26aevXqlaZOnZoeeeSRRthDAAAAWpJmFbrHjh2bL7t27ZqWW265Krfp27fvLNsCAABAUZpV6J4wYUK+XGaZZardJlq6K24LAAAARWmTmpHJkyfny5girDpRYC1MmjSp2m2i+3ksJaXx3zXdpimYOW1KY+8CUAtN/VhSnxyXYP7RUo5Njksw/5jUxI9Lpf0rKytrOaG7vpx33nnprLPOqraVHGBedL6psfcAoDLHJqCp6XzT/NP427lz55YRujt27Jgvv//++2q3+e677/Jlp06dqt3m5JNPTieccEL57zNnzkxff/11WmyxxVKrVq3qdZ9hTmfP4mTPxIkTa/yfBWgojktAU+O4RGOJFu4I3EsuuWSN2zWr0L3sssvmy3jDVae0rrRtVdq1a5eXirp06VJv+wl1FR8gPkSApsRxCWhqHJdoDDW1cDfLQmrrrLNOvvzqq6+qLZT24osv5suKc3gDAABAEZpV6F566aXT+uuvn3++/fbbK60fNWpUbumOVuz+/fs3wh4CAADQkjSr0B1OOeWUfPnHP/4xjRkzpvz6aP0+6qij8s9HH310rboBQGOLE0RnnHFGpeEOAI3FcQloahyXaOpalc2pvvl86LjjjkuXXnppatu2bdp6663zFGJPPPFE+uabb9Imm2ySHnvssdS+ffvG3k0AAACauWYZusNdd92VrrjiivTyyy+nn376Ka2wwgpp//33T0OHDk0LLrhgY+8eAAAALUCzDd0AAADQ2JrdmG4AAABoKoRuGtxTTz2VDj300LTaaqulRRddNI+9X2yxxdIGG2yQi9w9/vjjeaL55qxVq1Z5KdrMmTPTTTfdlLbZZpvUo0eP/Fp37do1rbzyymmXXXZJf/7zn9P7779f6e8T+7bFFlukxhb7EPsS+wQNzbGq2GPVmWeeWX7/dVkcD2juxo8fn48xceyJukQLLbRQ+Qw9cf0999xTb++/uGzqGvO7QHxHmpvj1ODBgxt8X2na2jT2DtByfPnll2nQoEFp5MiR+fellloqF7aLSvLffvtt+s9//pPH4ccSc65XrD5P3X3//fdp5513Tk8++WT53PS/+MUv0gILLJDee++99Oijj6YRI0akhRdeOH+IA/+PY1XDWHvttdNBBx1U6fo4Nn322WdprbXWytvMbokllmigPYSGd++996aBAwemqVOn5pN8cezp3r17+t///pfrFMVx54477kgDBgxIzUGE/rPOOitXHi/6BMCyyy6bPvjggzRhwoT8c20sssgiVR6n3nnnnfTcc8/lkyJ77rlnpfWbbrppvewzzYfQTYOIyvFxAHrrrbdSnz590pVXXpm23HLLStvFl9mLLroof6A0Z2+++WbhjxEfXhG4l1xyyfR///d/6Wc/+9ks6yM8xNnynj17znJ9tOLF/kUYh5bGsarhjlW77bZbXqpq1YrQHevmh1Y4qC/xfx8BLwL3iSeemM4+++zcyl3RSy+9lO6+++55fqw42b7vvvumbt26pabulltuSVOmTEnLLLNMgz92vD7RY3B2cV2E7urWw+yEbhrEMccck7/ELr/88un555/PXTWrssYaa6QbbrghHX744ak5iy/zRSuFgTh7PHvgDtFqd8ghh1S6PsJ2Q+wfNEWOVbNyLICG89BDD6Xvvvsunyw///zzq9xmvfXWy8u8irA4PwTu0BhhG+qbMd0U7t1330233357/jlahqr7Ejt7a2t14gzv9ttvn7tbxfRv0fUzpoN74403qh2LE92IYuzltddemz+sojtQhM5tt902/fOf/6z2sX744Yd0wQUXpA033DB16dIln3FeZZVV0m9+85v01VdfVdo+znaWxvJ8/fXX6fjjj8/T1bVr126WMdI1jZOcPn16uvHGG1O/fv3yB2LcNsZyxe+XXXZZqssZ8xBjueuiujHd8/paRstgdIeL5xTBfs0110wXX3xxHnce9xn3Pfv48jl54okn0h577JFb6+N/IZ7r7rvvXuN+QHUcqxrnWFVX0dIX3f/ji3g8ZtSp2G677dIjjzxS5fbxesfJx+imG3+D+FtEt93Yz5hedE7HwWh1jO6vUQsjXtd43N/+9rfpxx9/LO819Otf/zqfqIn18TeMFvp4faAuSp/bccyYG3V5T85pTPfbb7+dTyrGcSH+r+M4FEPUbr311jmOu45u8PHZXNqHGJsex6fZa2DE9vHeCnFZ3Zjo6sZ0x3tz+PDh+VjZsWPH/N6O4Scx9j2OfXFsq3i8i67lYbnlliu8TkQMB4jjTgyRiX0rfe+J3gvRaj+7yZMnp+uuuy6/biuttFI+9scStzn11FNzL6yqVPz+FL0a47WKv1V8fu20007ptddeK982Pt822mijvD/xORGPFZ97NJCYMgyKdPHFF8dRtmzRRRctmzFjxlzfz08//VS299575/tq165d2cYbb1y21157la211lr5uvbt25f93//93yy3mTBhQl7Xu3fvsoMOOqisbdu2ZVtttVW+n5VXXrn8vv71r39VeryPP/64bM0118zbdO3ataxfv35lu+++e76vuG7ZZZcte//992e5zV/+8pe8bscddyxbbrnl8nPeZZdd8n4OGjSofLvYpqq33zfffFO26aab5nWxr5tvvnnZfvvtV7bllluWde/evcrbVGeFFVbI22+33XZlP/74Y61v9+STT+bbxWPX12v51FNP5b9PbBP7te+++5Zts802ZQsuuGDZPvvsU/6axmNUFPsQ18c+ze7EE0/M61q3bl22wQYb5Nf45z//eVmrVq3KFlhggbIbb7yx1s8ZgmNV4xyrZld6359xxhlV/o3iPR/r11577bI999wz70ccS+K6s846q9JtfvnLX+Z1ffr0ycfDOOZstNFG5fczdOjQao+DsV3sT6dOnfLrs9NOO5V17tw5r4ufv/rqq7JVVlklP+cBAwaUbbvttmULLbRQXn/EEUfM9WtAy/TXv/41/+/EZ9jjjz9ep9vW9T0Z76/q3md33XVX+f9xvG/ieBLHow4dOuTrDj744Grft8OGDcvvx1VXXTV/1sf18Xxi3XHHHTfLbeJYVzouxmX8Xlquu+66Gr8LxDF66623ztfH+3OHHXbIzzeOf6Vj39ixY/O2zz77bL7P0v7He7XiY7355ptldVU6hsZjze71118v69WrV17fs2fPsu23375s5513Llt88cXLj13x96oo9jHWxd8q/o5xnIrjyWKLLZavX3HFFcu+/PLLSo9Veq7xusf3n0022WSWz40uXbqUvfPOO2UnnXRSWZs2bfLfMY6bpf1bcskly77++us6P3/qTuimcAcccEB+Y8fBcV6ccsop+X4iWL333nuzrPv73/+eD+rxxfF///tfpS+ypQPjW2+9Vb5u+vTpZYccckheFwe2imbOnJkPXLEuvrBNmjRpli/UpcAXH2ZVHYRLz/fbb7+t8rlU90V2jz32yNevs846lQJoPO79999f69froosuKn+cONAfeuihZTfccEPZmDFj8nOf29Bd19dyypQpZUsttVReF69bxTATH0ylD6G6hO5rr722/EPolVdemWXd008/XdaxY8f8of/222/X+vUCx6rGOVbVNnQ/+uij+Utlt27d8vu8oldffbVs6aWXzreLk3wVxe/vvvtupccZN25c+W1eeOGFKo+DscRJvYpfduMERvz9Yl2c7Igv099//335+tGjR+cvtxHqP/jgg7l+HWh5Jk+eXP55Gf/rW2yxRdkf/vCHsocffrjs888/r/G2dX1PVhe6470UJ/gidN9zzz2zrIv//dIJvptvvrnK920sV1999SzrnnjiifIT4hMnTqzVfszpu0AcA0rPt+Jxr+L7cPaQWt0J/rlRXeiO7zylRo/TTjutbOrUqeXr4jgRJwaqOnERr0ucaJn9hG/c5sADD8y3OeqooyrtR+k5xd+s4oma+NyIk6ixbo011sjh/eWXX57lfuOEcKw/++yz5/n1YM6EbgoXZx/jTR1nPKsSB4GKZxxLS5z1K4nWhGgdig+Bjz76qMr7iYNRPM5ll11W5RfZBx98sNJtPv300/KD1bRp08qvj1ao0tnI+LCaXRwU4yAW27z22muVDsJxlrmqL3k1fZGN1yGuq+k51tU555xTfma34hKhNA7i8aVzbkJ3XV7LW265pfyDqeL1JZdffnmdQne89nFmNq5/8cUXq3zef/7zn8tDPtSWY1XjHatqE7rjJEZcf/fdd1d5u2idK7Vi1dY111yTbxOtQFUdByMoVHzdSo499ti8fpFFFin77LPPKq2PIF5VMIE5ic/l0v/67Eu8z6+66qpKJ87n5j1ZXdiNFta4/vzzz6/ydv/+97/z+vXWW6/K922E/6pEa2+sj+8EtdmPOX0XKL3f471YWw0RuuPvU+oJU92JlR49euQTc7VtYY6AHNtHK3h1z2n2Y1iIRpbS/84VV1xRaX2cVKnqpCzFUEiNRjdx4sR08803V7o+xqWUplyIKtwxZnHrrbfOY/KqEttHpeEofjT7FFht2rTJYytnF2N/YtxLjL2JcY+lqWgefvjhfBljkOO2s2vdunUe2xTjlOPxoqhSRTGNUIzvq4uYJifsuOOO1T7HujrllFPSUUcdlR544IH09NNP56mNYp9j7FBUA/373/+ex53279+/1vdZ19cyHjfstddeeZ7j2cXYzLpMWTZ27Nj0ySef5HFm1RWTKY1Jjb8N1BfHquKOVbWZxu3f//53at++fZ4Ksa7v+yhOFeMd4/gR9zVt2rR8/aeffpovo3heVWL89uyvWYgxlyGOQVXVzSitj2MV1EXUYvjXv/6V/9/j/f3CCy/kz+4vvvgij5U+8sgj88wjsS7GMNfnezJqrMT7JOyzzz5VbtO3b988jVa8l6KuwezV1at7f6666qp5Pz/++ONUH2Ia1JgCNcawR72FUn2XxlY6Jlf3+sVrF69h1KAYPXp0rtdRURy/nn322fThhx/msd+lcfDxt47/gfgMqKreSFXf40rHoTmtd5xqGEI3hStVx4yDRVWi0EPF4hpR8CMKZFUU80qHuL66oj4lVT1OHIirCnyhU6dO+SBWKopT8fFOP/30vNT18Wo7/2NFpQIf9V0tOIplxBQkpXkm47ned9996bTTTstfOOP6eOzaThFW19fyo48+qvE1if0rzX9cG6W/TRT/mJv/BaiOY1XjHqtqEvPqxmsfJzSiMFNdnueIESPSwQcfXGVBuZJJkybVqWpyfHGuaX0UKgoV/1ZQF1GksVSoMf73I+RG0bCYmeTxxx9Pl1xySTrppJPq9T0Z75HSe6FXr1612n72kF/deyKOX/X5nogT71HwMl6DOHkZS+/evXOhsDhWx4n+0kmJhlQ6Jh9wwAF5qe2x6vPPP88nT0eNGlXjbeLvU1Xorup1Lx2nqlvvONWwhG4KF2cj//rXv+YztXEWNVpe6ipuF1ZcccVcgbYmVX3o1PUxS48XrVdxYK/J6quvXum6aI1pquJgHVOFRQtX/G2i1Sfmmtxmm21qdfu5+fuFmgLInMJJVX+baOmLisU1mV+mQ6FpcKxqukrPM75ExhfT2opWtWhxirAe1YyjZ02caIj7idd65MiR+Tgye1Xl2v495vZ4CHURn5FxfPrb3/6WWz8ffPDBdP/995eH7vp+n4XSifqaVHUCrCHfEzHF4957751fjwirscRJiViicni0GDd063fpNYweS4svvniN28ZJgpIhQ4bk/Y+TBlHJfa211srf10onYWMauWgocayafwndFC7OOJ544om5hSa608TvdVU64xrdrmLqh6KVHm/XXXfNU8E0hNJZyHHjxjXI40XojlAaoTuWopTOglc3HVi0cFc3FUZNf5uY8qch/hdoORyrmuaxquLzjPAR3Ulr+wUyWrkjcMdUgn/6058qrR8/fny97ysUKbojR8is+LldX+/J+E4QJ+LiPRPzhM8PJ64j2B566KF5Kb0G0bAQUywOGzasyiFBRR+rYh9++ctfpj333LNWt/n+++/zZ04c1+IyegDOvv6///1vQXtMQ3Hag8JFi09pbMsJJ5xQ627EFcX4yOgmFHMpRhecou2www75MsY8V3dWsb6VxnHGAbc+xtfMab8j6Ja6kcU8nkWJ8aSl17KqeWtL8yLXVsy/GV8EYu7d119/vd72ExyrGudYVRvRyvOzn/0s16MojV+tjdI8vRVblEri9arr8QeKVJv3cIz1nf1zu77ekzFGutTrrbo57OtbqQt4fc1rHz2Ifvvb3+afYwx8kY9V0zG5Lq9ffNbMmDEjd8GfPXCHmBu9oY7vFEfopkFcccUV+QtttCpsvPHG5cW1ZhetoaUxwLOfyYxuRHG2L4p0vPbaa5W2mTp1aj77Wx+tL9FqFOEuCpnEWMCqxkJGa9jVV19dbwfvtddeOz9unGGOy9IHa0k8Tjy/2oqxYFGsqfSls6I4Yxpdx6KYUGkMVFFiXFV074q/7amnnjpL97X4W/3+97+v0/1FV6voNhYfQNF6VdX4p/jw+v/+v/8vF6OBunCsavhjVW2dffbZ+TKeZ7Rgzy6OCVF0KrqMVyzeFKJgZKloWukY8bvf/U6xRZqU+MyOz+aq/i/j//vee+9Nl19+ef593333LeQ9GZ+vEU6j63q0Elf8zC6JwoyxL/WhdPKgrifR4zM+TjL89NNPlV6nhx56qMqTbXP7WHVx2GGH5ceNE6ER/uNEYVXfwa677rpZPjeiK3k0hsQQp4rie8zJJ59c2P7ScHQvp0HEwSTGDQ8cODAXGIoqs3Hwiw+KOKsXHxTxJTe+oMYBc80118zVHSv64x//mL80RctE3C7Gu0TV3ajYG19+44xmfNGNypvzWkwkuvjEeKmoBBofOvGFLR4vunBFUI1CGbGv8cVt8ODBVVYNnht/+ctfcoXJOMhGVcn40h8tPHGAjseLL9S1PdsZr+evfvWrdOyxx+bXM8Z7xn7GGMf4YhofVF27ds1jn+pr/6sSBdriLG28ln/+85/zB3X8beNkQLQGxheE2J/4klDboidRMCW2j6Iym222WR6rGkEpusXFaxX/C/HhddVVV6UNN9ywsOdG8+NY1fDHqtqKkxhRPCqGAOyyyy75PR/d+KMQYzzeK6+8knsXxBfdUkXguE1UGH/ppZdyhePNN988dejQIR9zokUwtq2q2zk0hvhcjplFYunevXv5MLD4PIveXaVhWvvvv3/uvlzEezLGjsdndhwvYomiq6uttlren/jcjvuK41j0CoqK4fMqairEezKOY1GbIvY9WtyjJkacYKvOq6++moYOHZpbh2Of47nG8TlqckRhuTguzH5SP+pBxAwT8frFMaJUkCxOMMSxpD7Ec4kK5jE8Kb7zXHvttbmXTnyOxHj8t99+O7355pt51oNSl/h4vnESMJ7PgQcemE/+xmdGfM+JEzCxv88880x5wTzmT0I3DSYOMFFxM77IxpfR+GIbB5E4CEUFxeWWWy6fIYwxMFtttVWlMXvxZfG2227LB5/rr78+f2mKs61xgIuW1PhyFV/ESt2Z51UcwOPDK8Zl3nnnnfkAH61JEVRj3RFHHJEfb/bpMuZFfABEy1qMWYzXKL6cxwE3Xrv48r7bbrvV+r6iBThe7zgbHCEhXveYNic+oKJlLD7oYjqxhhizFX/P+HudeeaZ+fnFh2t8oJxzzjn5pED8/ePvHa9tbcWHWbwe0TIQzzW6nEZoj/+FCErxgVcfXwhoeRyrGvZYVRdxvIjX/LLLLstfnuNvFK9/FFaMgBInHyoWWou/RZzcO++88/I0S7F9HAMjkMTv0QoldNNURJCO40v8n8ZxI4L2Z599lv+P472833775VBW1bSC9fmejB5q8T3h0ksvTY899lg+BsaJu2iRjZNdceK7tuOV5yTuM05ARkCOk2MxFjta16N1vqbQHcfR6JYdxdLiO04cA+PEe4ypjrHc0egw+9C5mG4t3vNxUiFayUtVu+NYXV+hO0RDQByHo4dRzBYTP8fziu9bsU9RfyN66lV0/PHH5799fLcpDZ+Lk7IRwOMYHuuYv7WKybobeyeAlivCTLQ+RYthfDABAEBzYkw3ULjo1hbz7M4uWv9K3atqOqMNAADzKy3dQOGie+eWW26Zx4VFt/LoAhYhvDQfclRLja5eRY4tBwCAxiB0A4WLgkXnnntuHm8WhdxiTFWMjY1xT1GwKlq7BW4AAJojoRsAAAAKYkw3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAACkYvz/cal4vmOV7jAAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Calculate counts for each rank (1, 2, 3) for each discussion type\n",
    "rank_counts = {dtype: {1: 0, 2: 0, 3: 0} for dtype in discussion_type_to_ranks.keys()}\n",
    "for dtype, ranks in discussion_type_to_ranks.items():\n",
    "    for rank in ranks:\n",
    "        rank_counts[dtype][rank] += 1\n",
    "\n",
    "# Create the stacked bar plot\n",
    "fig, ax = plt.subplots(figsize=(10, 6))\n",
    "\n",
    "discussion_types = list(rank_counts.keys())\n",
    "bottoms = np.zeros(len(discussion_types))\n",
    "\n",
    "# Define colors and labels for the ranks\n",
    "colors = ['#2166AC', '#FDDBC7', '#B2182B']  # Blue, Light Pink, Dark Red\n",
    "labels = ['Rank 1', 'Rank 2', 'Rank 3']\n",
    "\n",
    "for rank in [1, 2, 3]:\n",
    "    values = [rank_counts[dtype][rank] for dtype in discussion_types]\n",
    "    formatted_discussion_types = [dtype.replace(\"_\", \" \").title() for dtype in discussion_types]\n",
    "    plt.bar(formatted_discussion_types, values, bottom=bottoms, label=f'Rank {rank}', color=colors[rank-1])\n",
    "    bottoms += values\n",
    "\n",
    "fontsize = 16\n",
    "plt.ylabel('Count', fontsize=fontsize)\n",
    "plt.xticks(fontsize=fontsize)\n",
    "plt.yticks(fontsize=fontsize)\n",
    "plt.legend(loc='upper left', fontsize=fontsize)\n",
    "plt.ylim(0, 44)\n",
    "\n",
    "# Add statistical significance annotations\n",
    "def annotate_significance(ax, p_value, x1, x2, y):\n",
    "    if p_value < 0.001:\n",
    "        significance = '***'\n",
    "    elif p_value < 0.01:\n",
    "        significance = '**'\n",
    "    elif p_value < 0.05:\n",
    "        significance = '*'\n",
    "    else:\n",
    "        significance = 'ns'  # Not significant\n",
    "\n",
    "    # Add horizontal line\n",
    "    ax.plot([x1, x2], [y-2, y-2], color='black', linewidth=1)\n",
    "    # Add vertical lines\n",
    "    ax.plot([x1, x1], [y-3, y-2], color='black', linewidth=1)\n",
    "    ax.plot([x2, x2], [y-3, y-2], color='black', linewidth=1)\n",
    "    # Add significance marker\n",
    "    ax.text((x1 + x2) / 2, y-1, significance, ha='center', va='bottom', fontsize=fontsize)\n",
    "\n",
    "annotate_significance(ax, p_generic_single_vs_generic_team_adj, 0, 1, 34)\n",
    "annotate_significance(ax, p_generic_single_vs_scientist_team_adj, 0, 2, 42) \n",
    "annotate_significance(ax, p_generic_team_vs_scientist_team_adj, 1, 2, 38)\n",
    "\n",
    "# Make x-axis labels more readable\n",
    "plt.tight_layout()\n",
    "plt.savefig(blinded_dir / \"rankings.pdf\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a6dbf850",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "virtual_lab",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
